增量变量为
我在同一页面上有 30 个具有相同类的 div。当我按下标题(.pull)时,内容向上滑动(.toggle_container)。当内容隐藏时,我再次按标题,内容会向下滑动。另外,我想将 div 状态存储在 cookie 中。 我修改了原始代码以将 div 状态存储在 cookie 中,但它不适用于所有 div(pull1、toggle_container1、pull2、toggle_container2 [...]),它仅适用于第一个 div(pull0、toggle_container0)。 我做错了什么?
var increment = 0;
if ($.cookie('showTop') == 'collapsed') {
$(".toggle_container" + increment).hide();
}else {
$(".toggle_container" + increment).show();
};
$("a.pull" + increment).click(function () {
if ($(".toggle_container" + increment).is(":hidden")) {
$(".toggle_container" + increment).slideDown("slow");
$.cookie('showTop', 'expanded');
increment++;
} else {
$(".toggle_container" + increment).slideUp("slow");
$.cookie('showTop', 'collapsed');
increment++;
}
return false;
});
I have 30 divs with the same class on the same page. When i'm pressing the title (.pull) the content is sliding up (.toggle_container). When the content is hidden and i'm pressing the title again, the content is sliding down. Also, i want to store the div state inside a cookie.
I modified my original code to store the div state inside a cookie but it's not working for all the divs (pull1, toggle_container1, pull2, toggle_container2 [...]), it's working only for the first one (pull0, toggle_container0).
What i'm doing wrong?
var increment = 0;
if ($.cookie('showTop') == 'collapsed') {
$(".toggle_container" + increment).hide();
}else {
$(".toggle_container" + increment).show();
};
$("a.pull" + increment).click(function () {
if ($(".toggle_container" + increment).is(":hidden")) {
$(".toggle_container" + increment).slideDown("slow");
$.cookie('showTop', 'expanded');
increment++;
} else {
$(".toggle_container" + increment).slideUp("slow");
$.cookie('showTop', 'collapsed');
increment++;
}
return false;
});
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我没有尝试过你的任何代码,
但 $("a.pull" +increment) = $("a.pull0") 不会吗?
我没有看到任何 for 循环,因此增量 0 选择器是唯一会被执行的选择器?
要查看的 jquery 选择器可能是
http://api.jquery.com/attribute-starts-with-selector/< /a>
如果您可以选择具有以 .pull (或其他名称)开头的类的 div,而不必绑定到 30 个不同的 div,那么我认为您的代码将会更加高效。
I haven't tried any of your code,
but won't $("a.pull" + increment) = $("a.pull0") ?
and I don't see any for loop so the increment 0 selector is the only one that will get executed?
a jquery selector to look at might be
http://api.jquery.com/attribute-starts-with-selector/
If you can select divs that have a class that starts with .pull (or whatever) instead of having to bind to 30 different divs then I think your code will be more performant.
这是代码:
This is the code: