2012-01-30 21 views
1

我通過這些菜單如何使用Cookies保持頁面狀態?

<li><a href="#">Man</a> 
    <ul class="sub_menu"> 
     <li><a href="mcaps">Caps</a></li> 
     <li><a href="#">Shirts</a></li> 
     <li><a href="#">Tshirts</a></li> 
     <li><a href="#">Jackets</a></li> 
     <li><a href="#">Jeans</a></li> 
     <li><a href="#">Shorts</a></li> 
     <li><a href="#">Footwear</a></li> 
    </ul> 
</li> 

<li><a href="#">Woman</a> 
    <ul class="sub_menu"> 
     <li><a href="#">Caps</a></li> 
     <li><a href="#">Sunglasses</a></li> 
     <li><a href="#">Shirts</a></li> 
     <li><a href="#">Tshirts</a></li> 
     <li><a href="#">Dresses</a></li> 
     <li><a href="#">Jackets</a></li> 
     <li><a href="#">Jeans</a></li> 
     <li><a href="#">Purse</a></li> 
     <li><a href="#">Handbags</a></li> 
     <li><a href="#">Footwear</a></li> 
    </ul> 
</li> 
我的jQuery代碼

現在我得到的圖像,如果用戶點擊man>mcaps

$(document).ready(function() { 
    $('ul.sub_menu a').click(function(e) { 
     e.preventDefault(); 
     var txt = $(this).attr('href'); 
     $.ajax({ 
      type: "POST", 
      url: "thegamer.php", 
      data:{ send_txt: txt }, 
      success: function(data){ 
       $('#container').fadeOut('8000', function(){ 
        $('#container').html(data); 
        $('#container').fadeIn('8000'); 
       }); 
      } 
     }); 
    }); 
}); 

現在,當我刷新頁面說一個網站,它全力以赴,並顯示索引頁面,我知道我必須使用cookie,但是如何使用它們來維護頁面?

當用戶點擊Woman>jeans現在必須設置cookie並且在頁面刷新時不會消失。

任何詳細的代碼將是有用的。

回答

1

首先,您需要下載this plugin並將其添加到您的頁面。

然後修改你的代碼是這樣的:

$(document).ready(function() { 
    // set the content on page load to match the last clicked link 
    setContainerHtml($.cookie("activeElementHref")); 

    // set the content on link click 
    $('ul.sub_menu a').click(function(e) { 
     e.preventDefault(); 
     var txt = $(this).attr('href'); 
     $.cookie("activeElementHref", txt) 
     setContainerHtml(txt); 
    }); 
}); 

function setContainerHtml(href) { 
    $.ajax({ 
     type: "POST", 
     url: "thegamer.php", 
     data:{ send_txt: href }, 
     success: function(data){ 
      $('#container').fadeOut('8000', function(){ 
       $('#container').html(data); 
       $('#container').fadeIn('8000'); 
      }); 
     } 
    }); 
} 
+0

親愛@Rory感謝名單的工作,但是當我點擊刷新背景(的index.html)閃現了一會兒,在前看不見我不想顯示的索引。 HTML時,即時通訊另一個鏈接和clik刷新只是爲了檢查cookie是否工作 – sajid 2012-02-03 04:21:32

+0

解決了這一點再一次都在這裏非常有幫助 – sajid 2012-02-03 05:11:32

1
  1. 你需要包括可用的jQuery插件的cookie的一個
  2. 會有一個方法(主要是稱爲$ .cookie),您可以用它來設置,讀取和刪除根據給定的關鍵餅乾(你的選擇)

像這樣的事情

$.cookie("mykey", "10"); //set value of cookie to 10 
var mycookie = $.cookie("mykey"); // get cookie value or NULL if not set 
$.cookie("mykey", null); // unset = delete cookie 

有更多的設置(如到期時間等),您可以根據需求

0探索