2017-01-02 10 views
0

Я не могу понять, почему мой код не будет работать. Я пытаюсь создать небольшой калькулятор по модулю, и я довольно новичок в javascript и придумал этот код.проблема с созданием калькулятора по модулю с javascript

<!DOCTYPE html> 
<html> 
<head> 
    <title>Modulo Calculator</title> 
</head> 
<body> 
    Modulo Caculator 
    <script> 
     var x = myModulo(5,3); //enter numbers here 

     function myModulo(a,b) { 
      return a % b 
     }; 


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

Он должен вернуть 2, но я знаю, что я что-то упускаю, но что?

+3

и он возвращает 2. Что вы получаете? – charlietfl

+1

Вы должны использовать 'x' где-нибудь, например, с помощью' Element.innerHTML = x' или 'InputElement.value = x'. Добро пожаловать в переполнение стека! – PHPglue

+0

Javascript в основном используется для динамических операций за HTML, ваш код делает за собой расчет сцены по модулю и возвращает 2. В дополнение к @PHPglue вам нужно определить некоторый HTML для отображения результата. Есть несколько примеров для этого здесь, в Stack Overflow и Interweb, чтобы процитировать * Jeremy Clarkson * – Mouser

ответ

1

Весь ваш код верен и должен работать нормально. Вам нужно фактически отобразить результат этого, используя фрагмент JavaScript на загрузке страницы (например).

Вкратце, на данный момент у вас есть результат функции JavaScript myModulo(5, 3), хранящейся в переменной x. Теперь вы на самом деле не сказали браузеру, где отображать это возвращаемое целочисленное значение, или даже когда вызывать функцию в DOM.

Вы могли бы хотеть попробовать ...

window.onload = function() { 
    var output = document.getElementById("output"); 
    output.innerHTML(myModulo(5, 3)); 
}; 

и имеющий div или p элемент (например), которые имеют output идентификатор - т.е. <div id="output"></div>

0

Ваш код просто отлично. Вам просто нужно обновить представление с результатом вычисления.

Вот пример рабочего калькулятора модов.

<!DOCTYPE html> 
<html> 
<head> 
    <title>Modulo Calculator</title> 
</head> 
<body> 
    <h1>Modulo Caculator </h1> 
    <label for="dividend">Dividend</label> 
    <input id="dividend"> 
    <label for="divisor">Divisor</label> 
    <input id="divisor"> 
    <button id="calcBtn">Calculate</button> 
    <p>Result is: <span id="result"></span></p> 

    <script> 
     // Your modulo function 
     function myModulo(a,b) { 
      return a % b; 
     }; 

     // 
     var calcBtn = document.getElementById("calcBtn"); 
     var resultElement = document.getElementById("result"); 

     // Set onclick event to run the Mod and update the results 
     calcBtn.onclick = function(){ 
      // Get values 
      var dividend = document.getElementById("dividend").value; 
      var divisor = document.getElementById("divisor").value; 

      // Run Modulo function 
      var modResult = myModulo(dividend, divisor); 

      // Update Result 
      resultElement.innerText = modResult; 

     } 

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

Объяснение этого кода

  1. Прежде всего мы создаем 2 входа, которые будут хранить дивиденды и делитель (ваш «а» и «б»), кнопка для запуска вычисление и элемент span для отображения результата.
  2. Добавить прослушиватель событий onclick, который будет запускаться каждый раз при нажатии кнопки расчета. Это будет выполнять функцию, которую мы определяем.
  3. После нажатия кнопки расчета наша функция onclick извлекает оба аргумента, дивиденд и делитель и запускает функцию myModul myModulo.
  4. После того, как результат возвращается, отображается его функция onclick.

Надеюсь, это поможет вам лучше понять взаимодействие JS и HTML. Удачи

 Смежные вопросы

  • Нет связанных вопросов^_^