网站有一个轮播图,每5秒自动播放下一张图片,并且有2个点击按钮,可以查看上一张或者下一张,现在想实现这样一个功能:
1。点击按钮,停止轮播
2.5秒内用户没有第二次点击按钮则开始轮播
3.如果一直有点击事件,则一直不添加自动轮播,直到无点击事件发生后自动轮播
我想知道用什么方法去知道用户是否点击了呢?点击事件是否有什么返回值,如果为null是不是就没有出发点击,就可以执行轮播,否则就按照点击事件处理。
网站有一个轮播图,每5秒自动播放下一张图片,并且有2个点击按钮,可以查看上一张或者下一张,现在想实现这样一个功能:
1。点击按钮,停止轮播
2.5秒内用户没有第二次点击按钮则开始轮播
3.如果一直有点击事件,则一直不添加自动轮播,直到无点击事件发生后自动轮播
我想知道用什么方法去知道用户是否点击了呢?点击事件是否有什么返回值,如果为null是不是就没有出发点击,就可以执行轮播,否则就按照点击事件处理。
var tips = true, // 标志位
timer = null; // 计时器
function slide() {
if (tips) {
// 原单次轮播代码
}
}
function clickBtn() {
tips = false;
if (timer) {
clearTimeout(timer);
}
timer = setTimeout(function(){
tips = true;
}, 5000);
}
$('#btn').click(clickBtn);
10 回答11.2k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答4.9k 阅读✓ 已解决
5 回答2k 阅读
3 回答2.4k 阅读✓ 已解决
用settimeout
点击时候停止轮播并且clearTimeout.
然后设置setTimeout 5s后执行轮播