这是我的JFiddle:
在我的代码中,我使用$("ul#nav-Expanded").slideToggle();
来切换<ul>
#nav-Expanded的可见性。我期待在切换时,cookie的值将在true和false之间变化。但事实并非如此。如果我在没有幻灯片效果的情况下将行更改为$("ul#nav-Expanded").toggle();
,则正确设置了Cookie。
如何分别设置每个切换的cookie值并具有幻灯片效果?它太突然了,只是显示或隐藏菜单而没有任何过渡。
在JSFiddle中,请忽略所有代码,直到您看到注释“// BEGIN MAIN JQUERY CODE”。这是我的代码开始的地方。
答案 0 :(得分:1)
将其添加到slideToggle()
的回调中:
$("ul#nav-Expanded").slideToggle(function() {
var isVisible = $('ul#nav-Expanded').is(':visible').toString();
$.cookie('nav-expanded', isVisible);
});
它不起作用,因为当菜单仍在滑出时.is(':visible')
未设置,而$.cookie()
则设置为初始状态isVisible
。