0
我正在創建一個jQuery Mobile站點(1.4.2)並使用面板。如果窗口寬度爲gt 768,我已經設置了一個腳本來加載面板。這適用於關閉面板並希望在執行特定任務時保持關閉的用戶例外,所以我正在考慮設置一個cookie值,當他們關閉面板時,只運行打開面板的腳本(如果未設置cookie)。jQuery Mobile Panel/jQuery Cookies
對於我最初的劇本我有以下的,一切都很好 -
<script>
$(document).on('pageinit', function() {
var width = $(window).width();
if(width > 768) {
$('##bluebuttonsPanel').panel('open');
}
});
</script>
使用jQuery的cookie的插件我設置這樣的餅乾 -
<script>
$(document).on('pageinit', function() {
if($('.ui-panel').hasClass('ui-panel-closed') == true) {
$.cookie('panel','is-hidden');
} else {
$.cookie('panel','is-visible');
};
});
</script>
當我感到困惑試圖當他們單擊面板的選項卡時更改cookie的值,那麼如果面板cookie值設置爲'is-hidden',則不運行初始打開的腳本。所以,我不知道如何改變點擊測試在開放腳本的條件cookie的值...
$('a#tab').click(function() {
if ($.cookie('panel', 'is-visible')){ ...?
任何幫助將不勝感激!我希望我能正確發佈這篇文章,因爲我沒有發佈很長一段時間! TIA!
您的應用程序是否都在一個網頁中運行?如果是這樣,你可能要考慮全局變量而不是cookie。 Cookies通常用於在瀏覽器會話之間保存狀態,而不是在單個瀏覽器會話中保持狀態。 – Kolban 2014-11-03 23:49:39
感謝Kolban!不,我們正在整個應用程序中更改頁面。因此,無論何時發生頁面刷新或頁面更改,打開面板的腳本都會在每個請求上運行並重新打開面板。表單提交不是Ajax,頁面也不會改變。這就是我想要重新擁有的東西! – user3059071 2014-11-04 00:04:40
我很樂意提供幫助,但我仍然沒有得到解謎的感覺。例如,您有兩個