我想写一个轮播的js当点击按钮时显示下一张图片,我是通过css3的过渡属性去做的,动画执行完成之后,再将设置的过渡属性去掉。因为是通过css3的过渡,因此去掉过渡属性,必须是在动画完成之后进行的我先使用了setTimeout,这个不行,如果发生连续点击效果就会变乱。之后使用了setIntveal var donghua = "";function dianji(){if(donghua){ clearInterval(donghua); donghua = ""; }donghua = setInterval(function(){ console.log("1"); clearInterval(donghua); donghua = "";},5*1000);}点击慢,或者时间设置的短,没问题,但是如果点击较快就可能会出现不断的进行循环,无法停止。是因为 引入的是外部的变量,变量在变,点击过快的时候 清除不掉循环该怎么做来避免这样的情况
1 回答
已采纳
kumin
TA贡献38条经验 获得超104个赞
可以考虑让按钮失效
在点击按钮后 将按钮设为禁用或者解除click事件 disabled=“disabled”
新增加一个延时计时器 时间是动画完成所需的时间
里面写上解除按钮禁用状态 或者重新绑定click事件
添加回答
举报
0/150
提交
取消