为什么这个函数不能无限循环
Why doesn't this function loop infinitely?
我对jQuery很陌生,已经为幻灯片开发了这段代码。但似乎这段代码不会帮助无限循环。它运行一次就停止了。谁能详细说明为什么?
$(document).ready(function(){
//Initialization
var slideCount = $('#slideshow').children().length;
var currentID = 1;
$('.slides').css('display','none');
$('#slide' + currentID).fadeIn(1000);
//Processing
setInterval(function(){
var nextID = currentID + 1;
$('#slide' + currentID).fadeOut(1000);
$('#slide' + nextID).fadeIn(1000);
currentID = nextID;
if(currentID == slideCount)
{
currentID = 1;
}
},2000);
});
幻灯片的HTML
布局如下:
<div id="slideshow">
<img src="../../resources/images/image1.jpg" id="slide1" class="slides" />
<img src="../../resources/images/image2.jpg" id="slide2" class="slides" />
<img src="../../resources/images/image3.jpg" id="slide3" class="slides" />
<img src="../../resources/images/image4.jpg" id="slide4" class="slides" />
</div>
你的代码会永远循环。你可能想改变
var nextID = currentID + 1;
// nextID becomes 5, which doesn't exists
$('#slide' + currentID).fadeOut(1000);
$('#slide' + nextID).fadeIn(1000);
currentID = nextID;
if(currentID == slideCount)
{
currentID = 1;
}
到
var nextID = currentID + 1;
if (nextID > slideCount)
{
nextID = 1;
}
$('#slide' + currentID).fadeOut(1000);
$('#slide' + nextID).fadeIn(1000);
currentID = nextID;
参见 jsFiddle: http://jsfiddle.net/LjTXZ/
相关文章:
- 如何在不进入无限循环的情况下将网站重定向到Facebook画布URL
- 为什么这个while循环不能使用AND逻辑运算符
- JavaScript while循环没有'不能在有条件的情况下工作
- 循环不'不能在“onreadystatechange”中工作
- 为什么javascript setTimeout()不能在循环中工作
- CSS-转换在JavaScript for循环中不能正常工作
- 可以'我的单词随机化器脚本不能正常循环
- 为什么这个函数不能无限循环
- 如何在不创建无限循环的情况下从事件处理程序中激发事件触发函数
- jQuery滑块不能完美循环
- 为什么我不能通过循环数组来搜索UserAgent的值
- 不能从循环中得到工作
- Javascript while循环不工作(无限循环)
- Javascript三进制不能在循环中工作
- 不能在循环内部修改在循环外部声明的数组
- 不能在循环中添加Jquery插件
- 为什么我不能在循环后访问数组
- 这个使用javascript的css3动画的无限循环不能正常工作,并且运行时有延迟
- Ajax不能在循环中工作
- 不能在无限循环中从SQS接收消息