我有几个按钮,包括具有相同名称的div。不幸的是我无法更改名称,它们是由cms生成的。
因此,例如,当我只点击第一个按钮时,只隐藏或显示第一个div,这很好。
但刷新页面打开或关闭所有div取决于第一个div关闭或打开,我不想要它。
然后我创建了这个用于测试的代码,该代码有效:
<button class="a">Button</button>
<div class="target"></div>
<button class="a">Button</button>
<div class="target"></div>
$('.a').click(function() {
$(this).next(".target").slideToggle(function() {
localStorage.setItem('visible-' + $(this).index(), $(this).is(":visible"));
});
});
$.each($('.target'), function(k, trg) {
$(trg).toggle(localStorage.getItem('visible-' + $(trg).index()) === 'true');
});
在这里你可以看到jsfiddle例子:https://jsfiddle.net/pj3gs0z9/8/
当我想在此网站上暗示此方法时:http://phpbb32.majordroid.com/index.php
因某些未知原因无效
你需要点击下面的减号,然后再加上打开。只需在此之后尝试刷新页面,由于某种原因它会关闭所有或打开下面的所有div ...
我使用过这段代码:
$("ul.topiclist.collapse-btn").click(function(){
$(this).parent().parent().parent().next("ul.topiclist.working-collapse-btn").trigger('click');
$(this).toggleClass('plus');
});
$('ul.topiclist.working-collapse-btn').click(function() {
$(this).next("ul.topiclist.forums").slideToggle(function() {
localStorage.setItem('visible-' + $(this).index(), $(this).is(":visible"));
});
});
$.each($('ul.topiclist.forums'), function(k, trg) {
$(trg).toggle(localStorage.getItem('visible-' + $(trg).index()) === 'true');
});
谢谢