我正在使用自动滚动脚本,我正在使用jquery中的一个函数移动到菜单上的clicked元素。我正在使用setInterval单击菜单上的每个项目。直到现在一切正常。但问题是当我需要停止setInterval时,我的意思是,如果用户单击其中一个元素,则停止setInterval。
我有两个问题或问题 yous :
好。谢谢阅读。我正在使用的代码是下一个,正如我所说的那样,可以正常运行滑块。非常感谢。正如旁注:对于客户请愿,我不能使用jquery插件来创建滑块,所以我必须手动完成。
$('.slider-controls a').live('click',function(e){
moveSlider($(this).attr('href'),e);
return false;
});
function moveSlider(toDiv,elem){
var nextPos = $(toDiv).position().top;
$('.slider-total').animate({
top: -nextPos
}, 700);
$('.slider-total div').removeClass('activo');
$(toDiv).addClass('activo');
}
var autoSlider = setInterval(function(){
var slideNext;
if ( !($('.slider-total .activo').next().attr('id')) ){
slideNext = '#' + $('.slider-total .post:first').attr('id');
} else {
slideNext = '#' + $('.slider-total .activo').next().attr('id');
}
$('a[href='+slideNext+']').click();
},4000);
答案 0 :(得分:2)
您可以通过调用clearInterval()
传递从setInterval()
函数返回的间隔的id来清除间隔。在你的情况下,它将是:
clearInterval(autoSlider);