2013-02-20 59 views
-1

每當我把我的jQuery導航功能刷新頁面將重置jquery函數,使我的導航盒隱藏,而不是顯示當我點擊它。 有人告訴我,我應該使用JavaScript Cookie,我不太瞭解它。當文檔重新加載時,jquery函數重置

這裏是我的jQuery代碼

<script type="text/javascript"> 

    $(document).ready(function(){ 
     $(".about").on("click",function(){    
      $(".nav").show(); 
      $(".menu1 li a").show(); 
      $(".menu2 li a").hide(); 
      $(".menu3 li a").hide(); 
      $(".menu4 li a").hide(); 
     }); 

     $(".cord").on("click",function(){ 
      $(".menu1 li a").hide(); 
      $(".menu3 li a").hide(); 
      $(".menu4 li a").hide(); 
      $(".nav").show(); 
      $(".menu2 li a").show(); 
     }) 

</script> 
+1

是的,你應該使用cookies。你有什麼嘗試? – Popnoodles 2013-02-20 10:34:02

+2

也許[jQuery cookie教程](http://www.google.com.au/search?q=jquery+cookie+tutorial&oq=jquery+cookie+tutorial&sourceid=chrome&ie=UTF-8)會有幫助嗎? (第三谷歌的結果是專門關於保留接口狀態。) – nnnnnn 2013-02-20 10:35:24

回答

0

下載jQuery.Cookies第一。

如下使用它。

Javascript文件如下使用它。

<script type="text/javascript"> 

    $(document).ready(function() 
    { 
     var checkCookie = $.cookie("nav-item"); 
     if (checkCookie != "") 
     { 
      $('#nav > li > a:eq('+checkCookie+')').next().show(); 
     } 
     $('#nav > li > a').click(function() 
     { 
      var navIndex = $('#nav > li > a').index(this); 
      $.cookie("nav-item", navIndex); 
      $('#nav li ul').slideUp(); 
      if ($(this).next().is(":visible")) 
      { 
       $(this).next().slideUp(); 
      } 
      else 
      { 
       $(this).next().slideToggle(); 
      } 
      $('#nav li a').removeClass('active'); 
      $(this).addClass('active'); 
     }); 
    }); 

</script>

我只是在解釋你如何做到這一點。

還有更好的方法來使用它。

More Help

+0

兄弟,它沒有工作..,我已經嘗試了..你可以使用它的會話,使其工作原理..爲它刪除會話代碼..謝謝 – user2090688 2013-02-20 11:59:23

+0

你可以這樣做,只是用會話使用jQuery.Session插件替換cookie代碼 – 2013-02-20 12:03:25

+0

它沒有工作..pls告訴我我可以如何解決這個問題? – user2090688 2013-02-20 13:57:10