2016-03-10 2 views
1

Я работаю над созданием простого калькулятора. Я застрял в вопросе отображения. У меня есть все кнопки в классе кнопок. Когда я пытаюсь отобразить что угодно, например, $ (". Display"). Text (output); он не работает. У меня есть класс отображения, который нужно выбрать, он находится под тегом, который может иметь текст, а output - переменная, которая равна чему-то. Я попытался сравнить с другим кодом, который у меня был, что связано с изменением текста с переменными, но я не понимаю, в чем проблема..text issue in javascript

HTML:

<!DOCTYPE html> 
<html lang="en"> 
    <head> 
     <link rel="stylesheet" type="text/css" href="resources/styles.css"> 
     <link href='https://fonts.googleapis.com/css?family=Lato:400,300,100,300italic' rel='stylesheet' type='text/css'> 
    </head> 
    <body> 
     <div class="calculator-background row"> 
      <p class="calc-title">Free Code Camp Calculator</p> 
      <div class="row answer-box"><p class="display"></p></div> 
      <div class="row"> 
       <button type="button">AC</button> 
       <button type="button">CE</button> 
       <button type="button">%</button> 
       <button type="button">/</button> 
      </div> 
      <div class="row"> 
       <button type="button">7</button> 
       <button type="button">8</button> 
       <button type="button">9</button> 
       <button type="button">*</button> 
      </div> 
      <div class="row"> 
       <button type="button">4</button> 
       <button type="button">5</button> 
       <button type="button">6</button> 
       <button type="button">-</button> 
      </div> 
      <div class="row"> 
       <button type="button">1</button> 
       <button type="button">2</button> 
       <button type="button">3</button> 
       <button type="button">+</button> 
      </div> 
      <div class="row"> 
       <button type="button">.</button> 
       <button type="button">0</button> 
       <button type="button">Ans</button> 
       <button type="button">=</button> 
      </div> 
     </div> 

     <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script> 
     <script src="resources/calculator.js"></script> 
    </body> 
</html> 

JavaScript:

$(document).ready(function(){ 

    var output = ""; 

    /* Calculator buttons */ 

    // only buttons are calculator buttons 
    $("button").click(function(){ 
     // gets the text label of the button? 
     var input = $(this).text(); 
     // if, else if chain for calculator functions 
     if(input !== "AC" && input !== "CE" && input !== "Ans" && input !== "=") 
      { 
       output += input; 
      } 
     else if(input === "=") 
      { 
       output = eval(output); 
      } 
     else if(input === "CE" && output.length > 0) 
      { 
       output = output.slice(0,-1); 
      } 
     else if(input === "AC" && output.length > 0) 
      { 
       output = ""; 
      } 
     else if(input === "Ans") 
      { 
       output = output; 
      } 
     // test to see if output wasn't getting anything 
     output = 5; 
     // display result in display class, doesn't display anything 
     $(".display").text(output); 
    }); 

}); 
+2

Я положил свой код в скрипку, ударил Ans, и получил 5 - это, кажется, работает надлежащим образом. https://jsfiddle.net/gg0tce8v/ –

+0

он работает на скрипке ... Я так смущен, почему это не работает для меня ... он также отлично работает, когда я вынимаю вывод = 5 строк. Сюжет сгущается, почему это не работает. Я использую скобки и предварительный просмотр в прямом эфире, вы думаете, что это может быть так? немой вопрос, не беспокойтесь, я буду продолжать смотреть –

+0

Пожалуйста, поделитесь ссылкой скрипта, где вы пытаетесь. Это сработало и для меня. – abhiagNitk

ответ

0

цвет шрифта наследуется <p class='display'></p> белого цвета, так что вы не можете видеть это.

Добавить свой .display класс ...

color: #000; 
0

Я думаю, что у вас все еще есть подать в суд, где вы проверить:

output.length 

вы, возможно, придется изменить, что:

output.toString().length