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
我很乐意提供帮助,但我仍然没有得到解谜的感觉。例如,您有两个