在jQuery / javascript中设置计时器

时间:2010-08-13 12:21:16

标签: javascript jquery slideshow

我有一个图片幻灯片,只需点击一下按钮就可以了:“>”。该按钮是一个id为“slideshowRight”的范围。

是否可以设置一个定时器,每5秒逐字地点击slideshowRight按钮,当鼠标悬停在按钮上时停止,当鼠标没有悬停在按钮上时重新启动?

悬停停止不如每5秒钟点击一次。我知道jQuery有一个.click()函数。

谢谢, 阿米特

2 个答案:

答案 0 :(得分:1)

检查setTimeout and setinterval功能。像这样的东西应该点击它5秒钟:

setInterval(function(){
  $("myButton").click();
}, 5000);

然后,您可以使用上面的clearInterval函数

清除并启动用户进出的时间间隔

答案 1 :(得分:0)

不应该被称为slideshowLeft吗?哦,好吧,

如果您有按钮,则:

slideshowRight.click(function() {
    // do some stuff
});

您实际上可以通过脚本触发该按钮的单击:

slideshowRight.trigger('click');

但我认为简单地重构这个功能更简洁:

slideshowRight.click(slideshowRight_click);

function slideshowRight_click() {
    // do some stuff
}

基于此,您可以将间隔设置为以下内容:

var isHover = false;
setInterval(function() {

    if(isHover) return;  // do nothing!

    slideshowRight_click();

}, 5000); // every 5 sec

您可以像这样更改isHover的值:

slideshowRight.hover(function() { isHover = !isHover; });

悬停将在悬停时调用一次,并在用户停止悬停按钮时再次调用,其值将设置为当前不存在的值。