2017-10-10 8 views
-3

私がしようとしているのは、jQueryを使ってh1タグのmath.random番号を表示することです。何らかの理由でそれが動作していません。何らかの理由で私は機能を取り出すときに機能しますが、それはなぜですか?h1タグjQueryでMath.random()を表示

HTML

<h1></h1> 

jQueryの

function time(){ 
    var number = Math.floor(Math.random()); 
    $('h1').text(number); 
} 
+4

この関数を呼び出す必要があります。あなたは 'time()'関数を呼び出しましたか? –

+0

特に「機能しない」とはどういう意味ですか? – clabe45

+0

スクリプトコードの前にJQueryが参照されていることと、HTMLの読み込みが完了した後に関数が記述されていることを確認します(関数とその呼び出しをdocument.readyイベントハンドラーの中に入れます)。そして、実際にあなたの関数を呼び出す必要があります。 –

答えて

0

$を使用しています。これは、JQueryについて知らない形式のjqueryセレクタです。 代わりにこのコードを使用してください。

function Thetime(){ 
     $(document).ready(function() { 
       var number = Math.floor(Math.random()); 
       $('h1').text(number); 
     }); 
    } 

希望すると問題が解決します。 サイドノート:生成された数値をフローリングしているため、常にゼロになる可能性があるため、Math.floor(Math.random())の代わりにMath.random()を使用することもできます。

おかげで

+0

コードの書式を修正してください。 – Soviut

+0

これは、$(document).ready(function(){})を追加するだけでよいことが判明しました。それが働いた –

0

あなたは実際にはその操作を実行するためにtime()関数を呼び出す必要があります。ここで

はあなたのコードの実行は、次のとおりです。

function time(){ 
 
    var number = Math.floor(Math.random()); 
 
    $('h1').text(number); 
 
} 
 

 
// call your function to run it 
 
time();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<h1></h1>

注:あなたはあなたの番号は常に0であることに気づくことがあります。これは、Math.random()01の間に浮動小数点を作成するためです(例:0.22378)。同様に、Math.floor()は任意の浮動小数点数を取り、それを最も近い整数に丸めます。したがって、0.22378のような乱数は、常に0にフロアされます。あなたの乱数に最大でを掛け算する必要がある整数の範囲の間でランダム化したい場合、結果はになります。

var max = 30; 
var number = Math.floor(Math.random() * max); 
+0

ありがとう、私はすでにそれを知っていましたが、私はそれをテストしていました、とにかく助けてくれてありがとう! –

0

@ScottMarcusは私がしなければならなかったすべては、関数にdocument.readyを追加し、質問に答えました。新しい開始コーダーのためにこれを残しておきます。

関連する問題