在指定的时间内点击某元素达到一定的次数后才触发事件
工作需要,要做一个点击某一元素,在规定的时间内,点击次数达到一定值时,才触发其他事件。
刚开始是一脸懵逼,思绪混乱,首先想到了使用定时器,后来绕来绕去,始终没有解决,在跟安卓开发的同事交流一番后,便产生了一个更加简单的方法,不使用定时器。
大致思路是这样的:初始时,给一个变量clickNum,值为0,用来保存点击的次数,点击元素时,当clickNum为0时,获取当前的时间,赋值给变量a,同时将当前点击时的时间赋给连一个变量b,然后拿这个时间b与时间a的差和规定的时间进行比较,当小于规定的时间时,就将次数加1,如果次数大于或等于规定次数时,执行所要执行的事件。如果时间b与时间a的差大于规定的时间,就将变量clickNum重置为0。
代码如下:
<input type="button" value="按钮" onclick="jump(url)">
<script>
var clickNum = 0 // 点击的次数
var firstTime = ''
var clickTime = ''
function jump(url) {
if (clickNum == 0) {
firstTime = new Date().getTime()
}
clickTime = new Date().getTime()
if (clickTime - firstTime <= 2000) {
clickNum ++
if (clickNum >= 5) {
window.location.href = url
clickNum = 0
}
} else {
clickNum = 0
}
}
</script>
作者:江峰★
出处:http://www.cnblogs.com/jf-67/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利

浙公网安备 33010602011771号