2012-01-13 4 views
0

작은 jQuery 쿠키 스크립트를 발견하여 사용자가 처음으로 사이트를 조회 할 때 내 사이트 상단의 div가 표시되도록했습니다. 사용자는 해당 div를 닫을 수 있으며 이후에 짧은 시간 동안 선택 사항을 기억할 수 있습니다.jQuery 쿠키로보기/숨기기

이제 제대로 작동하지만 시도해보고 싶습니다. 스크립트에 '빠름'을 표시하지만 .css 속성을 변경하면 효과적입니다. 그러나 내가 새로 고치면 몇 가지 버그가 있습니다. 여전히 내 선택을 기억하지만 확장/collaspe는 올바른 위치에 있지 않습니다.

아무도 도와 줄 수 있습니까? JS 코드 :

$(document).ready(function() { 
// LEFT COLUMN: 
    // When the collapse button is clicked: 
    $('.collapse').click(function() { 
    $('.collapse').css("display","none"); 
    $('.expand').css("display","block"); 
    $('#actionbar').css("height","0px"); 
    $.cookie('actionbar', 'collapsed'); 
    }); 
    // When the expand button is clicked: 
    $('.expand').click(function() { 
    $('.expand').css("display","none"); 
    $('.collapse').css("display","block"); 
    $('#actionbar').css("height","70px"); 
    $.cookie('actionbar', 'expanded'); 
    }); 
// COOKIES 
    // Left column state 
    var actionbar = $.cookie('actionbar'); 
    // Set the user's selection for the left column 
    if (actionbar == 'collapsed') { 
    $('.collapse').css("display","none"); 
    $('.expand').css("display","block"); 
    $('#actionbar').css("height","0px"); 
    }; 
}); 

그리고 내 CSS :

.expand { 
    width:11px; 
    height:11px; 
    background:red; 
    position:absolute; 
    left:100px; 
    top:90px; 
    display:none; 
} 
.collapse { 
    width:11px; 
    height:11px; 
    background:red; 
    position:absolute; 
    right:5px; 
    top:4px; 
} 
+0

CSS'display' 속성을 수동으로 설정하는 대신'.hide()'와'.show()'를 사용해야합니다! – ThiefMaster

+0

오류의 이미지가 더 많은 답변을 얻는 데 도움이 될 수 있습니다. 아직 권한이없는 경우 링크를 게시하십시오. – Kieran

+0

서버 측 스크립팅을 고려해 보셨습니까? – Wex

답변

0

어쩌면 대신 이벤트를 요리하는 노력 클래스를 cookie'ing. 예를 들어 확장 또는 축소 된 것으로 저장하지만 끝 페이지 스크립트를 배치하여 해당 쿠키 및 축소/확장 속성을 확인한 다음 coorect 요소에 클릭 동작을 수행합니까?

+0

예를 들어 주시겠습니까? – Doidgey