JS / jQuery函数意味着只重复一次触发器

时间:2015-08-07 10:15:07

标签: javascript jquery

我想在JS& jQuery中制作一个简单的横幅旋转器。我希望它循环,但问题是它只在页面加载后立即触发,而不是从那时起。

这是我的代码:

var stop = false;
var tar = 1;

function slide(){
    if(!stop){
        switch(tar){
            case 1:
            jQuery("#um1").toggle(300, function(){jQuery("#um2").toggle(300);});
            tar=2;
            break;
            case 2:
            jQuery("#um2").toggle(300, function(){jQuery("#um3").toggle(300);});
            tar=3;
            break;
            case 3:
            jQuery("#um3").toggle(300, function(){jQuery("#um1").toggle(300);});
            tar=1;
            break;
        }
    }
}

jQuery(function(){
    jQuery("#logosect").mouseenter(function(){ stop=true; });
    jQuery("#logosect").mouseleave(function(){ stop=false; });

    window.setInterval(slide(), 5000);
});

2 个答案:

答案 0 :(得分:2)

您需要将函数引用传递给setInterval(),在您调用setInterval()时调用slide()并将其返回的值(在本例中为undefined)传递为回调到setInterval

window.setInterval(slide, 5000);

答案 1 :(得分:1)

我建议clearInterval用于表演问题。这应该适合你。

weblogic.xml