扫码关注官方订阅号
现在有一个需求,长按'+'或者'-'按钮,数值不停增加如下图:
而我在使用onMouseDown的时候,发现事件只会被触发一次,不能实现持续增加,请问要如何实现这个需求?
mousedown的时候启动一个setInterval。200ms把宽度增加+1,mouseup的时候cancel掉。 就这么简单。
<!DOCTYPE html> <html> <head> <title></title> </head> <body> <button id="button">0</button> <script type="text/javascript"> var c = 0; var tid; var btn = window.document.getElementById("button"); btn.onclick = function(e){ c++; btn.innerHTML = c; }; btn.onmousedown = function(e){ tid = setInterval(function(){ c++; btn.innerHTML = c; },500); }; btn.onmouseup = function(e){ clearInterval(tid); } btn.onmouseout = function(e){ clearInterval(tid); } </script> </body> </html>
可以在按下的时候触发事件,同时增加一个定时器,不断触发该事件;在鼠标抬起的时候清楚定时器
一楼正解。。。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
mousedown的时候启动一个setInterval。200ms把宽度增加+1,mouseup的时候cancel掉。 就这么简单。
可以在按下的时候触发事件,同时增加一个定时器,不断触发该事件;在鼠标抬起的时候清楚定时器
一楼正解。。。