js监听点击事件

网站有一个轮播图,每5秒自动播放下一张图片,并且有2个点击按钮,可以查看上一张或者下一张,现在想实现这样一个功能:
1。点击按钮,停止轮播
2.5秒内用户没有第二次点击按钮则开始轮播
3.如果一直有点击事件,则一直不添加自动轮播,直到无点击事件发生后自动轮播
我想知道用什么方法去知道用户是否点击了呢?点击事件是否有什么返回值,如果为null是不是就没有出发点击,就可以执行轮播,否则就按照点击事件处理。

阅读 7.6k
3 个回答

用settimeout
点击时候停止轮播并且clearTimeout.
然后设置setTimeout 5s后执行轮播

不知道我看懂楼主的意思没。
可以给点击事件一个返回值,根据值是否满足你的条件来判断是否在指定时间内触发点击咯。

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);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题