2010-08-06 3 views
2

처음에는 div가 닫힙니다. 다음 아래의 코드는 개방/폐쇄를 제어합니다Jquery에 정보를 저장하는 개념

$("p:contains('INVESTOR')").click(function() { 
     if($('#cs_investorServ').is(':hidden')) { 
       $('#cs_investorServ').animate({opacity:'toggle', height: 'toggle'},'fast', function(){ 
       $('#cs_furlBar1 .cs_furlHeaderClosed').removeClass().addClass('cs_furlHeaderOpen'); 
       }); 

    } else { 
       $('#cs_investorServ').animate({opacity:'toggle', height: 'toggle'},'fast', function(){ 
       $('#cs_furlBar1 .cs_furlHeaderOpen').removeClass().addClass('cs_furlHeaderClosed');}); 
       } 
    }); 

내 문제는 지금 w 자세한 내용은/다른 페이지로 사용자를 소요 숨겨져 표시되는 DIV에 포함 된 링크가 /이 있다는 것입니다. 따라서 사용자가 첫 번째 페이지로 돌아 오면 처음에는 모든 div에서 hide()를 실행하기 때문에 div가 다시 닫힙니다.

해당 페이지로 돌아 가면 div가 '열렸습니다'라는 사실을 어떻게 저장할 수 있습니까? data 메서드를 사용할 수 있는지 궁금하지만 어떻게 만들지는 모르겠습니다.

나는 if/else가 다음과 같은 것을 확인했기 때문에 : hidden, 나는 다른 if/else가 숨김을 위해 if/else를 방해 할 것이라고 생각했다.

그래서 div를 열어 토글하고 그 div 내부를 클릭하여 다른 페이지로 이동하면 원래 페이지로 돌아갈 때 클릭이 발생한 곳의 div가 열리게됩니다.

doc 준비 함수의 첫 번째 조치는 다음과 같습니다. $('.cs_hideOpen').hide(); 사용자가 해당 div를 표시하고 해당 div에서 클릭 한 경우에만 해당 클래스를 '제거'하는 방법을 모르겠습니다.

답변

0

쿠키를 설정, 읽기 및 삭제할 수있는 jquery 용 플러그인이있어서 자바 스크립트를 통해 쿠키를 쉽게 설정합니다. 플러그인 찾기 Here.

div를 숨길 때 쿠키 만 설정하면됩니다. 페이지가로드 될 때마다 해당 쿠키를 확인할 수 있습니다.

0

마음에 드는 방법에는 세 가지가 있습니다.

  • DIV가있는 경우 사용자 세션에서 DIV의 상태를 서버 측에 저장할 수 있습니다. 서버에 DIV 상태를 다시 보내려면 AJAX를 사용해야하고 DIV가 서버에 의해 생성 될 때 어떤 식 으로든 DIV에 플래그를 지정해야합니다 (클래스를 추가하거나 다른 클래스에 추가하여).
  • DIV의 상태를 쿠키에 저장할 수 있습니다. Google 코드의 쿠키 프로젝트는 깨끗한 API와 jQuery와의 통합을 제공합니다. http://code.google.com/p/cookies/
  • HTML 5 로컬 저장소를 사용하여 DIV의 상태를 저장할 수 있습니다. 주제에 대한 기사는 Google 검색 "html5 localstorage"를 참조하십시오. 로컬 저장소는 구식 브라우저 (예 : IE 6 및 IE 7)에서는 사용할 수없는 새로운 기술입니다.
관련 문제