Javascript JS/jQuery函数意味着只重复一次触发器
我想在JS&jQuery中制作一个简单的横幅旋转器。我想让它循环运行,但问题是它只在页面加载后立即触发,而不是从那以后 这是我的密码:Javascript JS/jQuery函数意味着只重复一次触发器,javascript,jquery,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)
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);
});
您需要将函数引用传递给,在本例中,调用setInterval()并将其返回的值(在本例中未定义)作为对setInterval的回调时,将调用
slide()
window.setInterval(slide, 5000);
我建议将clearInterval用于性能问题。这应该对你有用
var tar = 1;
var slideInterval;
function slide(){
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(){
clearInterval( slideInterval );
}).mouseleave(function(){
slideInterval = window.setInterval(slide, 5000);
}).trigger("mouseleave");
});
第一次运行后,您的控制台中有任何错误吗?忍者以秒+1:)