我是 HTML 新手,我正在开发一个项目,该项目需要使用一个按钮,当您按住它时,它会重复相同的操作。这是我到目前为止得到的代码,但没有起作用。
!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Button</title>
</head>
<body>
<button id = "forward" accesskey="o" onmousedown="display(1)" onmouseup="stop()">forward</button>
<script>
function stop(){
console.log(" ")
}
function display(value){
if (value == 1){
console.log("left");}}
</script>
</body>
</html>
你需要的是setInterval
and clearInterval
.
Code
var wrapper = document.getElementById('counter');
var counter;
var count = 0;
function start() {
counter = setInterval(function() {
wrapper.innerHTML = count;
count++;
}, 500);
}
function end() {
clearInterval(counter)
}
<button onmousedown="start()" onmouseup="end()">Click and hold</button>
<p id="counter"></p>
解释
如果你不熟悉setInterval
and clearInterval
,它们类似于setTimeout
。您可以分配setInterval
到您可以传递给的变量clearInterval
稍后再阻止它。这样做的作用是将您传递给它的代码放在不同的堆栈上,以便您的其他代码可以继续执行,例如onmouseup
可以清除它的事件。
Practice
https://www.w3schools.com/jsref/met_win_setinterval.asp https://www.w3schools.com/jsref/met_win_setinterval.asp
https://www.w3schools.com/jsref/met_win_clearinterval.asp https://www.w3schools.com/jsref/met_win_clearinterval.asp
文档
https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setInterval https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setInterval
https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/clearInterval https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/clearInterval
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)