[英]while-mousedown
我需要解決這個問題。
當在最大按鈕上按下鼠標按鈕時,變量max
應該增加一。 當我按下最小按鈕時, max
變量應減小,但對我不起作用。
我該如何工作?
<body>
<button id="max" onmousedown="max()" >max</button>
<input id="num" type="number" disabled="disabled" value="0">
<button id="min" onmousedown="min()">min</button>
<script type="text/javascript">
function max()
{
var x = document.getElementById("num").value
if (x<100) {var max= document.getElementById("num").value++;}
}
function min()
{
var x = document.getElementById("num").value
if (x>0) {var max= document.getElementById("num").value--;}
}
</script>
</body>
這應該工作。
function max()
{
var numElement = document.getElementById("num");
var x= numElement.value
var fnc = function ()
{
if (x<100){
document.getElementById("num").value = x;
x++;
}
var i = setInterval(fnc, 100);
fnc();
document.onmouseup = function ()
{
clearInterval(i);
}
}
function min()
{
var numElement = document.getElementById("num");
var x= numElement.value
var fnc = function ()
{
if (x>0){
document.getElementById("num").value = x;
x--;
}
var i = setInterval(fnc, 100);
fnc();
document.onmouseup = function ()
{
clearInterval(i);
}
}
一些東西:
1-我從您的輸入代碼中刪除了內聯事件。
2-為了使間隔正常工作,您需要參考該過程。 在我的示例中, minInterval
和maxInterval
允許我調用clearInterval
onmouseup
。
3-為了使它們正常工作,您需要在DOM加載/就緒后運行腳本,因此請將代碼放在body
標簽末尾。
4- speed
值基本上是您希望間隔運行的速度。
的HTML
<button id="max" >max</button>
<input id="num" type="number" disabled="disabled" value="0">
<button id="min">min</button>
的JavaScript
var min = document.getElementById("min"),
max = document.getElementById("max"),
num = document.getElementById("num"),
speed = 10,
minInterval, maxInterval;
min.onmousedown = function(){
minInterval = setInterval(function(){
num.value--;
}, speed);
};
min.onmouseup = function(){
clearInterval(minInterval);
};
max.onmousedown = function(){
maxInterval = setInterval(function(){
num.value++;
}, speed);
};
max.onmouseup = function(){
clearInterval(maxInterval);
};
有用的網址:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.