簡體   English   中英

當按鈕高亮顯示時,我需要暫停輸入到計算器顯示屏。 無法弄清楚為什么我的setTimeout()無法正常工作。

[英]I need suspend input to my calculator display when buttons are hi-lighted. Can't figure out why my setTimeout() isnt working.

<html>
<head>
    <title> Buttons</title>
 <style type="text/css">

.intro{background-color:;}
.duction{background-color:blue;}
</style>





</head>
<body>
<form name="calculator">
<input type="text"  name="display" length="50" width="100">
<div>
<input type= "button" value="7" class="intro" id="seven" onclick="one(7)">
<input type= "button" value="8" class="intro" id="eight" onclick="one(8)">
<input type= "button" value="9" class="intro" id="nine" onclick="one(9)">
<input type= "button" value="+" class="intro" id="plus" onclick="one('+')">
<input type= "button" value="-" class="intro" id="minus" onclick="one('-')">
<div>
<input type= "button" value="4" class="intro" id="four" onclick="one(4)">
<input type= "button" value="5" class="intro" id="five" onclick="one(5)">
<input type= "button" value="6" class="intro" id="six" onclick="one(6)">
<input type= "button" value="x" class="intro" id="multiply" onclick="one('*')">
<input type= "button" value="/" class="intro" id="divide" onclick="one('/')">
<div>
<input type= "button" value="1" class="intro" id="one" onclick="one(1)">
<input type= "button" value="2" class="intro" id="two" onclick="one(2)">
<input type= "button" value="3" class="intro" id="three" onclick="one(3)">
<input type= "button" value="=" class="intro" id="equal" onclick="Evaluate()">
<div>
<input type= "button" value="0" class="intro" id="zero" onclick="one(0)">
<input type= "button" value="." class="intro" id="decimal" onclick="one('.')">
<input type= "button" value="c" class="intro" id="clear" onclick="clearDigit()">
</form>

<script type="text/javascript" src="C:\Users\LS\Desktop\QBJS\button.js">

</script>
</body>
</html>

var timer;
var object;
var thing;
var digit="";
var result;
var first;
var that;
var hilighted;

該函數應該暫停對calc的輸入。 高亮顯示按鈕時顯示。 當沒有按鈕高亮顯示時,它將在顯示屏上添加數字。 在添加if語句之前,我的計時器已經開始工作,無法確定需要更改哪些內容以容納if語句。

function one(event)
{

if (thing.className=="duction")
  {alert("x");}
else {
clearTimeout(timer);
timer=setTimeout(function(){AddDigit(event);},200);};

}

function AddDigit(x)
{

   if (typeof parseInt(x, 10) === "number" ) 

    {document.calculator.display.value+=x;}
   else 

    {document.calculator.display.value+=digit + x;}
 }



 function Evaluate()
 {
  result=eval(document.calculator.display.value);
 document.calculator.display.value = result;
 }



 document.ondblclick=function(button)
 {
   clearTimeout(timer);

 thing=button.target;

 thing.value;

 if(thing.className=="intro")
  {thing.className="duction";}


 else if(thing.className=="duction")
  {thing.className="intro";}    
}



function clearDigit()
{
document.calculator.display.value="";
}

在函數one您正在使用事件參數調用AddDigit AddDigit ,在該對象上使用parseInt ,該對象將返回NaN 您可能想要的是將數字發送到AddDigi t,因此在函數one更改您的調用以發送該適當的值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM