我希望你们能给我一个正确的方向,因为这个问题一直困扰着我。
我基本上想要完成的是这个。我在页面上有几个div,可以使用按钮独立地折叠。每个div都有自己的特定ID,使用一串静态文本生成,以及基于自动递增的数据库值的数值。这确保我在一个页面上永远不会有两个具有相同ID的div。要使用Javascript(jQuery)定位每个特定div,我使用以下代码:
这非常有效,可以做它应该做的事情。只有一个问题。在每个页面frefresh上,每个打开的div都会关闭。一切都重置了,这就是我想在这个结构中使用JQuery Cookies的原因。唯一的问题是,我知道它是如何工作的,但是我不能让它在这个特定的构造中工作,因为它必须每次处理一个完全唯一的ID并且需要存储该特定ID的值。
如下所示:http://jsfiddle.net/LU7QA/1/
我试图摆弄它,但我似乎无法让它正常工作,我开始对这个问题失去兴趣..
<div>
<button class="button_slide" value="1">Show hide</button>
</div>
<div id="slidingDiv_1" class="slidingDiv">Stuff</div>
<div>
<button class="button_slide" value="2">Show hide</button>
</div>
<div id="slidingDiv_2" class="slidingDiv">Stuff</div>
function initMenu() {
$(".slidingDiv").hide();
// Toggle Field
$(".button_slide").click(function(){
//alert($(this).val()); debugging purposes
var sliding_id = $(this).val();
div_sliding_id = '#slidingDiv_'+sliding_id;
$(div_sliding_id).next().slideToggle('slow', function() {
$.cookie(div_sliding_id, $(this).is(':hidden') ? "closed" : "open");
return false;
});
});
$('.button_slide').each(function() {
var sliding_id = $(this).val();
div_sliding_id = '#slidingDiv_'+sliding_id;
if ($.cookie(div_sliding_id) == "open") $(this).next().show();
});
}
jQuery(document).ready(function() {initMenu();});
答案 0 :(得分:-1)
你可能错过了最后一个* button_slide *声明的点吗?