我正在编写一个自动滚动脚本,我正在使用 jquery 中的一个函数来移动到菜单上单击的元素。我正在使用 setInterval 来单击菜单上的每个项目。直到现在一切正常。但是当我需要停止 setInterval 时,问题就来了,我的意思是,如果用户单击其中一个元素,则停止 setInterval。
我有两个问题或疑问要问您:
- 这是进行自动滚动的正确方法吗?
- 如果不是,如果您能给我一点线索,我将不胜感激。如果是正确的方法,如何知道点击事件是由用户触发还是由脚本触发?
出色地。谢谢阅读。我正在使用的代码是下一个,正如我所说,它可以正常工作以循环滑块。多谢。顺便说一句:对于客户请愿,我不能使用 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);