所以看看这个jsfiddle;这里
我正在尝试做的事情;
一系列“链接”,每个链接下方都有一个最初隐藏的内容 div。
单击链接应该 A) 显示该链接的 div 内容 B) 如果任何其他链接的 div 内容已打开,请将其关闭。
即,一次只能打开一个 div 内容部分。
在click
处理程序的顶部,我将单击的链接的 id 捕获到一个 var 中。但是,在each
通话期间,这似乎正在更新(如我出于演示目的而在那里的警报通话所示)。
$('.link-part').click(function() {
var clickedId = this.id;
$('.link-part').each(function(i, obj) {
alert(clickedId + " " + obj.id);
if(clickedId = obj.id) {
$('#' + obj.id + 'div').slideToggle(500);
} else {
if('none' != $('#' + obj.id + 'div').css('display')) {
$('#' + obj.id + 'div').slideToggle(200);
}
}
});
return false;
});
为什么是这样?我如何让它成为一个非可变变量?