2017-10-21 76 views
0

我實際上是在開發人員學校學習Javascript,我們有一個計算器,只需使用html,css和javascript。Javascript var在控制檯中顯示效果很好,而不是在html中

我快完成了,除了我有問題並且找不到解決方案。

我有這個功能

function calcul(operateur){ // fonction du calcul et affichage du résultat 
 
    var lcd = document.getElementById("lcd"); 
 
    switch (operateur){ 
 
     case "+" : 
 
      result = Number(n2) + Number(n1); 
 
      console.log(result); 
 
      lcd.innerHTML = result; 
 
      reset(); 
 
      break; 
 
     case "-" : 
 
      result = Number(n2) - Number(n1); 
 
      console.log(result); 
 
      lcd.innerHTML = result; 
 
      reset(); 
 
      break 
 
     case "/" : 
 
      result = Number(n2)/Number(n1); 
 
      console.log(result); 
 
      lcd.innerHTML = result; 
 
      reset(); 
 
      break 
 
     case "*" : 
 
      result = Number(n2) * Number(n1); 
 
      console.log(result); 
 
      lcd.innerHTML = result; 
 
      reset(); 
 
      break; 
 
    } // résultat affiché, remise à zéro des variables en cas de nouveau calcul par l'utilisateur

很簡單,它只是使從2個瓦爾計算,然後將結果顯示在我的HTML文件中的股利。

我的問題是:在控制檯中顯示,當結果是正確的,行權後,是把它的innerHTML,它總是顯示爲0 ... :( 我還有其他的功能完全相同的innerHTML來顯示值它幾乎完全正常工作,所以我堅持了幾小時後,試圖找出它爲什麼不工作,如滿意:/

完整的HTML,CSS和JavaScript頁面(分別命名爲index.html,BSoverload.css和script.js)在這個Github頁面中可見https://github.com/Mikerhinos/Calc,對不起意見是法語,因爲我在法國學習,所以教授也是法國人。儘量幫我:)

+1

[你沒有'break';'在適當的地方](https://github.com/Mikerhinos/Calc/blob/master/script.js#L39)語句塊,所以它繼續下去到'C'case語句 –

+0

@trincot reset()重置n1,n2和操作符var。 – Mikerhinos

+0

@PatrickEvans該死的,謝謝你,我沒有看到我錯過了休息時間:/失去了閱讀一切的時間大聲笑......我如何標記你的答案作爲我的解決方案,並添加代表? 再次感謝! :d – Mikerhinos

回答

0

在文件前面您有

 case "=" : // si l'utilisateur demande le résultat de l'opération 
      if ((operateur !== "") && (n1,n2 >= 0)){ // s'il y a bien une opération à faire, la transmettre à la fonction de calcul 
       calcul(operateur); 
      } 
      else { 
       break; // sinon ne pas tenir compte de la touche 
      } 

其中僅打破在else語句,因此落入下面的情況下,又將其設置爲0

0

function calcul(operateur){ // fonction du calcul et affichage du résultat 
 
    var lcd = document.getElementById("lcd"); 
 
    var n1= 1; 
 
    var n2 = 2; 
 
    switch (operateur){ 
 
     case "+" : 
 
      result = Number(n2) + Number(n1); 
 
      console.log(result); 
 
      lcd.innerHTML = result; 
 
      break; 
 
     case "-" : 
 
      result = Number(n2) - Number(n1); 
 
      console.log(result); 
 
      lcd.innerHTML = result; 
 
      reset(); 
 
      break 
 
     case "/" : 
 
      result = Number(n2)/Number(n1); 
 
      console.log(result); 
 
      lcd.innerHTML = result; 
 
      reset(); 
 
      break 
 
     case "*" : 
 
      result = Number(n2) * Number(n1); 
 
      console.log(result); 
 
      lcd.innerHTML = result; 
 
      reset(); 
 
      break; 
 
    } 
 
    }// résultat affiché, remise à zéro des variables en cas de nouveau calcul par l'utilisateur
<p id="lcd"> </p> 
 

 
<button onclick="calcul('+')">Try it</button>

function calcul(operateur){ // fonction du calcul et affichage du résultat 
 
    var lcd = document.getElementById("lcd"); 
 
    switch (operateur){ 
 
     case "+" : 
 
      result = Number(n2) + Number(n1); 
 
      console.log(result); 
 
      lcd.innerHTML = result; 
 
      reset(); 
 
      break; 
 
     case "-" : 
 
      result = Number(n2) - Number(n1); 
 
      console.log(result); 
 
      lcd.innerHTML = result; 
 
      reset(); 
 
      break 
 
     case "/" : 
 
      result = Number(n2)/Number(n1); 
 
      console.log(result); 
 
      lcd.innerHTML = result; 
 
      reset(); 
 
      break 
 
     case "*" : 
 
      result = Number(n2) * Number(n1); 
 
      console.log(result); 
 
      lcd.innerHTML = result; 
 
      reset(); 
 
      break; 
 
    } // résultat affiché, remise à zéro des variables en cas de nouveau calcul par l'utilisateur

相關問題