我需要解决这个问题。
当鼠标按下最大按钮时,变量max应增加1。当我按住min按钮时,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>发布于 2013-04-13 02:31:28
以下是一些事情:
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);
};帮助链接:
发布于 2013-04-13 02:30:14
这应该是可行的。
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);
}
} https://stackoverflow.com/questions/15978305
复制相似问题