2017-10-21 69 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

相关问题