我想遍历一组 div 并在触发单击事件时随机将它们淡出,但目前我必须不断单击以将其他 div 全部淡出。我宁愿单击一个 div 并让它的所有 div 随机淡出。我在 while 循环中添加了一些 console.logs,一切似乎都正常,问题是当我尝试淡出实际元素时。如果有人可以帮助那会很棒吗?
在这里 fiddle :http://jsfiddle.net/kyllle/sdpzJ/7/
最佳答案
也决定把它扔掉。简化。
$(function() {
var $ctn = $('#container .ctn');
function randomFadeOut() {
var $r = $ctn.not($(this));
var e = 0;
while (e < $ctn.length) {
$r.eq(e).delay(Math.random() * 500).animate({ opacity: 0 });
e++;
}
}
$ctn.hide().click(randomFadeOut).each(function(v) {
$(this).delay(50 * v).fadeIn();
});
});
http://jsfiddle.net/sdpzJ/15/
关于javascript - 使用 while 循环遍历元素时遇到问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9081697/