jQuery cookie 来记住哪个导航列表打开了?
我以我(非常)谦虚的 jQuery hackish 方式将以下内容拼凑在一起:
$(".toggle_container").hide();
$(".trigger a").addClass("close");
$(".trigger a").click(function() {
$(".toggle_container").slideUp('200','swing');
$(".trigger a").removeClass("open").addClass("close");
if ($(this).next(".toggle_container").is(":hidden")) {
$(this).next(".toggle_container").stop(true,false).slideToggle('200','swing');
}
});
jsfiddle 在这里:http://jsfiddle。 net/FWzWu/8/
我从未使用过 jquery cookie 插件,但现在想使用它来记住页面之间的用户菜单状态。在这里使用 github 插件: https://github.com/carhartl/jquery-cookie
任何帮助非常感谢! 谢谢!
I have cobbled the below together in my (very) humble jQuery hackish way:
$(".toggle_container").hide();
$(".trigger a").addClass("close");
$(".trigger a").click(function() {
$(".toggle_container").slideUp('200','swing');
$(".trigger a").removeClass("open").addClass("close");
if ($(this).next(".toggle_container").is(":hidden")) {
$(this).next(".toggle_container").stop(true,false).slideToggle('200','swing');
}
});
jsfiddle is here: http://jsfiddle.net/FWzWu/8/
I have never used the jquery cookie plugin, but would like to use it now to remember the users menu state from page to page. Using the github plugin here: https://github.com/carhartl/jquery-cookie
Any help is most appreciated!
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
第一次尝试(我添加了对
event.preventDefault 的调用()
来阻止点击时发生默认锚点操作 - 您可能需要删除它)。它可以进行一些清理,例如,最好利用事件委托来捕获锚元素上的单击事件,希望它传达了如何使用该插件以及在哪里使用它。
显然,该解决方案假设您的容器的数量和顺序永远不会改变;如果这样做,错误的容器最终将在页面加载时展开:)
A first stab (I added a call to
event.preventDefault()
to stop the default anchor action from happening on click - you may need to remove this).It could do with some cleaning up, for example it would be good to take advantage of event delegation to capture the click event on anchor elements, hopefully it conveys how to use the plugin and where to use it.
Obviously, this solution assumes that your containers are never going to change in number and order; if they do, the wrong container will end up being expanded on page load :)
在您列出的页面(github 页面)上有一个 自述文件,我从未使用过该插件,但看起来很简单。
确保包含脚本;
现在,每次您想要更改 cookie 值(或首先创建 cookie)时,请使用;
将 *cookie_name* 和 *cookie_value* 更改为您想要的任何内容。例如
然后每次加载页面时在 document.ready 中运行此命令;
然后您可以运行 if() 语句来确定要显示的内容。
这有帮助吗?如果需要的话我可以详细说明。
On the page you list (the github one) there is a readme, I've never used the plugin but it looks simple enough.
Make sure you include the script;
Now every time you want to change the cookies value (or create the cookie in the first place) use;
change *cookie_name* and *cookie_value* to whatever you desire. For example
Then every time you load the page run this inside the document.ready;
Then you can run if() statements to determine what to display.
Does this help? I can elaborate if necessary.