当我按下按钮时,如何使数字与自身相乘?

时间:2015-08-21 09:37:37

标签: javascript html html5 calculator calc

当我按下按钮时,如何将数字与自身相乘?我还希望它只在我按下等号按钮时乘以数字。一直试图将其设置至少一个小时但没有奏效。

我的代码:

function myFunction(clickedId) {
  document.calc.result.value += clickedId;
}

function Clear() {
  document.calc.result.value = "";
}

function compute() {
  try {
    var inp = eval(document.calc.result.value);
    document.calc.result.value = inp;
  } catch (err) {
    document.calc.result.value = "error";
  }
}

function doMath() {
  var inputNum1 = document.calc.result.value;
  var result = Math.sqrt(inputNum1);
  document.calc.result.value = result;
}

function myMultiply() {
  var x = parseInt($('#num1').val(), 10);
  var y = x * x;
  alert(x + " times " + x + " equals " + y);
  return false;
}
.calc {
  border: groove 6px;
  margin-left: 530px;
  margin-right: 530px;
  padding-top: 10px;
  padding-bottom: 10px;
  height: 200px;
}
input {
  text-align: center;
  height: 30px;
}
.results {
  padding-bottom: 7px;
}
.top {
  float: left;
  padding-left: 20px;
}
.numbers {
  float: left;
  padding-left: 20px;
  padding-top: 15px;
}
.symbols {
  float: right;
  margin-top: -40px;
  padding-right: 15px;
}
<div class="calc">
  <center>
    <div class="results">
      <form name="calc">
        <input type="text" name="result" readonly>
      </form>
    </div>
    <table>
      <div class="top">
        <button type="button" id="CLEAR" onclick="Clear()"><font color="#CC0000">C</font>
        </button>
        <!--Izdzēst rakstīto-->
        <button type="button" id="3.141592653589793" onclick="myFunction(this.id)">π</button>
        <!--Skaitlis 3.14...-->
        <button type="button" id="6.283185307179586" onclick="myFunction(this.id)">τ</button>
        <!--Skaitlis 6.28...-->
      </div>
      <br>
      <div class="numbers">
        <button type="button" id="1" onclick="myFunction(this.id)">1</button>
        <!--Skaitlis 1-->
        <button type="button" id="2" onclick="myFunction(this.id)">2</button>
        <!--Skaitlis 2-->
        <button type="button" id="3" onclick="myFunction(this.id)">3</button>
        <!--Skaitlis 3-->
        <br>
        <button type="button" id="4" onclick="myFunction(this.id)">4</button>
        <!--Skaitlis 4-->
        <button type="button" id="5" onclick="myFunction(this.id)">5</button>
        <!--Skaitlis 5-->
        <button type="button" id="6" onclick="myFunction(this.id)">6</button>
        <!--Skaitlis 6-->
        <br>
        <button type="button" id="7" onclick="myFunction(this.id)">7</button>
        <!--Skaitlis 7-->
        <button type="button" id="8" onclick="myFunction(this.id)">8</button>
        <!--Skaitlis 8-->
        <button type="button" id="9" onclick="myFunction(this.id)">9</button>
        <!--Skaitlis 9-->
        <br>
        <button type="button" id="0" onclick="myFunction(this.id)">0</button>
        <!--Skaitlis 0-->
      </div>
      <br>
      <div class="symbols">
        <button type="button" id="ANS" onclick="compute()">=</button>
        <!--Vienādības zīme-->
        <br>
        <button type="button" id="*" onclick="myFunction(this.id)">x</button>
        <!--Reizināšanas zīme-->
        <br>
        <button type="button" id="/" onclick="myFunction(this.id)">÷</button>
        <!--Dalīšanas zīme-->
        <br>
        <button type="button" id="+" onclick="myFunction(this.id)">+</button>
        <!--Plusa zīme-->
        <br>
        <button type="button" id="-" onclick="myFunction(this.id)">-</button>
        <!--Mīnusa zīme-->
        <br>
        <button type="button" id="SQRT" onclick="doMath()">√</button>
        <!--Kvadrātsakne-->
        <br>
        <button type="button" id="SQRT" onclick="doMath()"><sub>2</sub>
        </button>
        <!--Kvadrāts-->
      </div>
      <br>
    </table>
  </center>
</div>
<center>
  <p>Special thanks to my peeps at <a href="http://www.stackoverflow.com">StackOverFlow</a> for helping me with some issues!</p>
  <!--Pateicības piezīme-->
</center>

1 个答案:

答案 0 :(得分:1)

尝试这种方法

function compute() {
 try{
    var inp=eval(document.calc.result.value);
    if(document.calc.result.value==inp)
    inp=inp*inp
    document.calc.result.value=inp;
 }
 catch(err){
  document.calc.result.value="error";
 }
}

小提琴 - &gt; http://jsfiddle.net/santoshj/qtp9cbxc/1/

我更新了CSS,以便在小提琴中获得良好的视野。