【发布时间】:2013-11-06 13:39:06
【问题描述】:
我的 for 循环与 if 语句相结合时遇到了一个小问题 我想通过图像计数,让它们一个接一个地淡入或淡出 所以让我们看看我的代码:
$('#motive-toggler').click(function(){
var status = $('.thumb').css('display');
var count = $('#motive-wrapper > img').length;
var limit = 0;
var i = 0;
$('#motive-wrapper').css('display','block').appendTo('#control-wrapper');
if( status === 'none' ){
for (i; i < count; i++){
$('.thumb:eq('+i+')').delay(i*100).fadeIn(500);
}
}
else {
for (i; i > limit; i--){
$('.thumb:eq('+i+')').delay(i*100).fadeOut(500);
}
}
});
我计算了图像的数量(var count) 我想在我的 for 循环中使用这个数字。这么久这么好;) fadeIn 工作完美,但 fadeOut 没有。根本没有错误消息或任何我可以使用的东西。有什么想法吗?
这是标记:
<button id="motive-toggler" class="standard hover">m</button>
<div id="motive-wrapper">
<img src="img/sample.png" class="thumb">
<img src="img/sample.png" class="thumb">
<img src="img/sample.png" class="thumb">
<img src="img/sample.png" class="thumb">
</div>
感谢任何帮助
【问题讨论】:
-
$('.thumb').css('display')只会返回集合中第一个元素的值。如果代码运行时不隐藏则永远不会返回none -
详细解释想要的行为。还在jsfiddle.net中设置demo
-
这是小提琴jsfiddle.net/sNXb5
标签: jquery loops if-statement for-loop fadeout