
JavaScript初心者です。
現在、乱数+乱数=その計算結果という単純な表示を繰り返し続けるだけのプログラムを作成したいと思っているのですが、どうも初心者なので自分のプログラムが悪いところが分からずにいます。
abc.jsというファイルともう一つtest.htmlというファイルを作成して、test.htmlのファイルから
src="abc.js"でファイルを検索して処理を実行しようとしています。そのabc.jsというファイルの中には以下のように記入しています。
window.addEventListener( "load", loadFunc, false );
function loadFunc() {
timerID = setInterval("count_up()",1000);
}
function count_up() {
var a = Math.floor( Math.random() * 100 ) + 1;
var b = Math.floor( Math.random() * 100 ) + 1;
c = new String(a);
d = new String(b);
e = new String(a+b);
document.write(c.fontcolor("red").fontsize(50) + "+".fontsize(50) + d.fontcolor("red").fontsize(50) + "=".fontsize(50) + e.fontsize(50)) ;
document.clear();
}
setIntervalというのがタイマーということがインターネットで書かれていたので、それを入れてみたのですが、計算結果は表示されるのに、1秒ごとに画面が更新されなくて、どうしたら良いのかがわかりません。
また、document.writeって連続で表示させることに適しているのかもよくわからないです。
こういう場合って、htmlの方をどうにかするのでしょうか、それともJavaだけ変更すればできるのでしょうか。
一応以下、htmlで書いてあるプログラムです。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="meiryo" />
<title>タイトル</title>
<link rel="stylesheet" href="test.css" type="text/css" />
<script type="text/javascript" src="abc.js"></script>
</head>
<body>
</body>
</html>
すみませんが、修正点を教えてください。
以上、よろしくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
document.write は便利な機能ですが、
残念ながらタイマーとの組み合わせはまず不可能です。
代替として DOM を使うことをオススメします。
https://developer.mozilla.org/ja/docs/DOM/DOM_Re …
その他の気になる点も含めて修正したサンプル
window.addEventListener( "load", loadFunc, false );
function loadFunc() {
_ setInterval( countUp, 1000 ); // 文字列ではなく関数が望ましい
}
function countUp() { // キャメルケースが望ましい
_ var a = Math.floor( Math.random() * 100 ) + 1;
_ var b = Math.floor( Math.random() * 100 ) + 1;
_ var top = document.body;
_ while (top.firstChild) top.removeChild(top.firstChild); // 書き込む前に画面を消去
_ function write(text, color) {
_ _ var s = document.createElement('span');
_ _ s.textContent = text;
_ _ s.style.fontSize = '300%'; // fontsize の代替
_ _ s.style.color = color? color: 'black'; // fontcolor の代替
_ _ document.body.appendChild(s); // document.write の代替
_ }
_ write(a, 'red');
_ write('+');
_ write(b, 'red');
_ write('=');
_ write(a+b);
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- JavaScript スマフォではボタンを表示させたくない 2 2023/01/20 14:26
- HTML・CSS 下にスクロールしても、追従するボタンのコードを書いたのですが、ボタンの中の画像が半分しか表示されない 1 2022/04/16 21:31
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
○歳△ヶ月と×日を計算してくれる...
-
innerHTMLにて設定した情報を再...
-
ジャバスクリプトのdocument.wr...
-
document.open()の意味とは
-
lastModifiedの表示フォーマッ...
-
現在の日付から、1ヶ月前にす...
-
今日の月と日付の1週間後や3日...
-
一定時間処理を中断
-
java scriptでの表示件数の制御...
-
問題の個数を数える。
-
JavaScriptでFirefox使用者の閲...
-
ホームページに日付を自動更新...
-
ジャバスクリプトで空白(スペー...
-
JS、document.write出力位置設定
-
for文のiを使ってリンク先のア...
-
C#テキストボックスの文字を配...
-
javascript(jQuery)でセル内...
-
スロットマシン風の表示
-
サブウインドウから親ウインド...
-
javascript 変数名の連結をしたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
window.openでタイトル名の指定
-
for文のiを使ってリンク先のア...
-
○歳△ヶ月と×日を計算してくれる...
-
テキストボックスに入力された...
-
java カレンダーの日付指定で...
-
今日の月と日付の1週間後や3日...
-
メソッドに自分自身を渡す場合
-
JavaScriptの件で、質問させて...
-
1ページに大量のWindow.openの...
-
elseを使わないで複合条件をす...
-
java scriptでの表示件数の制御...
-
parseIntで戻り値がNaNになるの...
-
比較演算子について
-
静的メソッドとインスタンスメ...
-
どこが動作しない原因かわかり...
-
一定時間処理を中断
-
JavaScriptで乱数+乱数の計算結...
-
なぜ、ジャバスクリプトが表示...
-
adsenseをjavascriptで出力したい
-
条件分岐(IF文)の簡素化
おすすめ情報