2017-10-29 1 views
0

私は数学を練習する子供のためのスクリプトを作ろうとしています。私は+、 - 、xを作ることができたが、分割を完了することはできない。プロジェクトはここに見ることができます: http://fibeeland.com/projects/math_tasks/index.htmlJavascriptリビジョンなしで10回分の計算を表示するループを作る方法

私は入力から乱数をとり、タスクを生成しています。除算計算をどのようにしてアラームを持たない例だけが表示されますか?

私の関数は次のようになります。

//get a random number 
function randomNumber(){ 
    var minNumberId = document.getElementById("minNrId"); 
    var xx=minNumberId.value; 
    var maxNumberId = document.getElementById("maxNrId");      
    var yy=maxNumberId.value;  
    var min = Math.ceil(xx); 
    var max = Math.floor(yy); 
    var randNr1 = Math.floor(Math.random() * (max - min + 1)) + min; 
    return randNr1; 
} 

function division(min,max,tasks){ 
    document.getElementById('division_loop').innerHTML = " "; 
    var tasks_quantity = document.getElementById("tasks_quantity"); 
    var tasks = tasks_quantity.value; 

     for (i=0; i < tasks; i++){ 
      var a = randomNumber(); 
      var b = randomNumber(); 

      if((a%b)===0){ 
       document.getElementById('division_loop').innerHTML += "<p><span class='task_punctuation'>" + (i+1) + ". </span>" + a + "/" + b +" = <input type='text' class='answerInput' id='" + (a/b) + "'></p>"; 
      } else{ 
       b = 2; 
       document.getElementById('division_loop').innerHTML += "<p><span class='task_punctuation'>" + (i+1) + ". </span>" + a + "/" + b +" = <input type='text' class='answerInput' id='" + (a/b) + "'></p>"; 
      } 



     } 
    $(".answerInput").keyup(function() { 
     var InputID = this.id; 
     value = $(this).val(); 
     //change to lower case 
     var InputIDlow = InputID.toLowerCase(); 
     var valuelow = value.toLowerCase(); 
     if(valuelow==InputIDlow){ 
      $(this).css('background-color', '#bcffb9'); 
     } 
     else{ 
      $(this).css('background-color', '#dbdbf4'); 
     } 
    }); 

    } 

division(); 

は、事前にありがとうございます。 マット

+0

を求める、すなわち乱数 '検索したいA'を与えられました'a%b == 0 'となるように' b'を設定します。それはあなたが意味することですか?明確にするために質問を編集してください。 – Constantinos

+0

はい、私は他の関数から2つの乱数を取得します。私は両方を使用してループに入れて、リマインダなしの要素(実際には10の異なる例)が見つかるまで繰り返していました。 – PhiCato

答えて

0

あなたのスクリプトは、2で割り切れる場合は正常に動作しているようです。あなたはそれが事実であるかどうかを確認することができ、単に1をaに加えるだけではありません。子供たちのためにかなり退屈であるように思わ

:D

何例次にb = 3

お掛けすることができます用の乱数(一つだけ) の選択についてたく乱数によって(あなたがかもしれません乗算が境界内に収まるように範囲を減らす)。

次に、あなたの結果がaであると言うだけで、a/bを求めてください。

b = randomNumber() 
a = b*randomNumber() # adjusting the range 

が次に同じように通常あなたは係数を算出する方法を求めているようですねa/b

+0

私はいくつかの結果を得るために2つのelse文をハードコードしました。私が望むのは、そこに乱数(b)を入れることですが、私はそれを思い出させることなく必要とします。 – PhiCato

+0

はい、私のロジックは正しいでしょうか? – Wikunia

+0

はい、それが最も簡単な解決策です。本当に私が望んでいたものですが、それはあなたに感謝します:)私はJavascriptの忍者になるとすぐにそれをやります:) – PhiCato

関連する問題