2012-06-26 118 views
0

我是jquery的新手。我一直在研究如何使用cookie插件爲jquery函數設置cookie。jquery cookie設置

我對div有這個簡單的隱藏和顯示功能,但希望類狀態在鏈接到其他頁面和刷新後保留。

的JS是這樣的

<script type="text/javascript"> 

$(document).ready(function(){ 

    $("div.toggle_search").hide(); 
    $("h2.trigger_up").click(function() { 
    $(this).toggleClass("active").prev().slideToggle(250); 
     if ($.cookie('more_search','1')) { 
     $("#criteria").attr('class', $.cookie('more_search')); 
    } else { 
     $("#criteria").attr('class', 'active'); 
    } 
    $.cookie('more_search', $(".trigger_up").attr('class')); 
      return false; 
    }); 

}); 

</script> 

HTML

<div id="criteria"> 
    <div class="toggle_search">  
     <div class='left'> 
      Stuff goes here 
     </div> 
    </div> 
    <h2 class="trigger_up"><a href="#">See More Search Criteria</a></h2> 

    <div class="clear"></div> 
</div> 

任何幫助將不勝感激。 !

+0

我欣賞響應。但我決定採用第二種方案並重新開始。謝謝! – Lpillory

回答

0

在顯示或隱藏div之前檢查cookie。在這個片段中,使用id =「moreButton」(不是實際的按鈕)div有短信說「多」或「少」的顯示和隱藏的div id爲「moreOptions」:

$(document).ready(function() {             
    if ($.cookie("show") == "show") {          
     $("#moreButton").html("Less «");         
     $("#moreButton").attr("title", "Hide the extra search parameters."); 
     $("#moreOptions").show();          
    }                  
    else {                 
     $("#moreButton").html("More »");         
     $("#moreButton").attr("title", "See more search options.");  
    }                  

    $("#moreButton").click(function() {          
     $("#moreOptions").animate({ "height": "toggle" }, { duration: 60 }); 
     if ($("#moreButton").html() == "More »") {      
      $("#moreButton").html("Less «");       
      $("#moreButton").attr("title", "Hide the extra search parameters."); 
      $.cookie("show", "show", { path: '/' })     
     }                
     else {               
      $("#moreButton").html("More »");       
      $("#moreButton").attr("title", "See more search options."); 
      $.cookie("show", "", { path: '/' })      
     };                
    });                  


}                    
       ); 
+0

非常感謝!我用這個,它的工作。我仍在研究添加一個添加到html字符串的方向圖標。我嘗試了一些東西,但它有點失敗。 – Lpillory

+0

對不起,我提前關了。我正在查看http://api.jquery.com/html/以瞭解如何添加圖像。這是一個好看的地方嗎?再次,謝謝! – Lpillory

+0

@Lpillory是的,你可以用jquery方法設置innerHtml,例如將其設置爲包含標記的內容。如果您對此有任何疑問,您應該提出一個新問題。 –

0

有你包含對jQuery-cookie庫的引用?

看到這裏找到它看起來像你正在使用或試圖使用插件頁面的文檔,https://github.com/carhartl/jquery-cookie/

通過設置cookie在未來到期,就應該堅持,直至碰到過期日期。

例如:$.cookie('more_search', $(".trigger_up").attr('class'), { expires: 7 }); //將在一週內過期。

還要注意你有兩個班,當你得到$(".trigger_up").attr('class') trigger_up和積極的(當點擊了第一次的鏈接),你可能要解析cookie的值設置爲「主動」