我的这个jquery程序出了什么问题?
我调试的时候,程序一直在var i=0和if语句这两句之间交换,没有往下执行。
function trun(){
var i=0;
if(i<5){
$("#adv").css("background-image","url(img/dd_scroll_"+elem.eq(i).text()+".jpg)");
i++;
}else{
i=0;
}
setInterval(trun(),500);
}
setInterval(trun(),500); 这个是每500ms执行一次,你放到里面,也就是每500ms 后i的值又会重置 i = 0;所以每次都会再程序一直在var i=0和if语句这两句之间交换。不会跳下去的
function trun(i){
if(i<5){
$("#adv").css("background-image","url(img/dd_scroll_"+elem.eq(i).text()+".jpg)");
i++;
}else{
i=0;
}
}
var i=0;
setInterval(trun(i),500);
setInterval(trun(),500);你这句有毛病,只会执行一次trun,然后将返回值作为计时器执行的代码,而且你计时器不能放里面,要不会叠加
var i = 0;//////////
function trun() {
console.log(i)
if (i < 5) {
$("#adv").css("background-image", "url(img/dd_scroll_" + elem.eq(i).text() + ".jpg)");
i++;
} else {
i = 0;
}
}
setInterval(trun/*()*/, 500);//////////
不能再turn()函数中进行setInterval()每次调用都会执行
楼上说的不错,!!!!!!!!!!!!
第一:你写的这个turn方法根本不会被触发,因为你把定时器写在了函数内部,没有事件触发它。
第二:函数内部逻辑也有问题,每次执行这个turn函数的时候,i都会被初始化。所以不会执行else后面的逻辑。
希望对LZ有所帮助。
对,把那个setInterval放到外面吧,放到页面加载事件啊什么都行