jquery函数setInterval

eanckbw9  于 12个月前  发布在  jQuery
关注(0)|答案(6)|浏览(154)
$(document).ready(function(){

    setInterval(swapImages(),1000);

    function swapImages(){

        var active = $('.active'); 
        var next = ($('.active').next().length > 0) ? $('.active').next() : $('#siteNewsHead img:first');

        active.removeClass('active');
        next.addClass('active');
    }
});

字符串
我有13个图像包含在一个div中。第一个有一个名为active的类,这意味着它被显示。
交换图像功能选择活动图像并隐藏它,并使下一个图像活动。
但是,当页面加载时,该函数只正确工作一次,而不是循环。
有什么想法吗?

yh2wf1be

yh2wf1be1#

这是因为你执行的函数没有引用它。你应该这样做:

setInterval(swapImages,1000);

字符串

gajydyqb

gajydyqb2#

不要通过调用swapImages将结果传递给setInterval。只需传递函数,如下所示:

setInterval(swapImages, 1000);

字符串

v64noz0r

v64noz0r3#

//使用setInterval概念的简单示例

$(document).ready(function(){
var g = $('.jumping');
function blink(){
  g.animate({ 'left':'50px' 
  }).animate({
     'left':'20px'
        },1000)
}
setInterval(blink,1500);
});

字符串

g0czyy6m

g0czyy6m4#

这就是你所需要的

setInterval(function() { alert("Haha"); }, 1000);

字符串

eimct9ow

eimct9ow5#

你可以这样使用它:

$(document).ready(function(){

    setTimeout("swapImages()",1000);

    function swapImages(){

        var active = $('.active'); 
        var next = ($('.active').next().length > 0) ? $('.active').next() : $('#siteNewsHead img:first');

        active.removeClass('active');
        next.addClass('active');
        setTimeout("swapImages()",1000);
}

字符串
});

q3qa4bjr

q3qa4bjr6#

在ready事件之外声明函数。

$(document).ready(function(){    
       setInterval(swapImages(),1000); 
    });

    function swapImages(){

    var active = $('.active'); 
    var next = ($('.active').next().length > 0) ? $('.active').next() :         $('#siteNewsHead img:first');
    active.removeClass('active');
    next.addClass('active');
}

字符串

相关问题