質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

3回答

1108閲覧

setTimeout関数の結果をinnerHTMLで表示したい

beginner001

総合スコア29

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2020/06/07 05:59

javascript

1<html> 2<head> 3<title>setTimeoutの練習</title> 4</head> 5<body> 6   <script> 7 let log = function(){ 8 console.log("こんにちは"); 9 } 10 setTimeout(log,3000); 11 </script> 12</body> 13</html> 14```上はGoogleChromeからF12で更新ボタンで3秒後に「こんにちは」と表示されました。 15 16```javascript 17<html> 18<head> 19<title>setTimeoutの練習</title> 20</head> 21<body> 22 23<div>id="display"</div> 24   <script> 25 let dsp = document.getElementById("display"); 26       let log = document.write("こんにちは"); 27 dsp.innerHTML = setTimeout(log,3000); 28 </script> 29</body> 30</html> 31</html>

「こんにちは」という結果をブラウザ上に出せないかと思い、思いつくままの式を書いてみましたがやっぱり駄目でした。どうすれば可能でしょうか?
よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

思いつくままに書いても書いたとおりにしか動きませんよ。
まず

javascript

1let dsp = document.getElementById("display");

これは動きません。idが「display」の要素は存在していません。

html

1<div>id="display"</div>

idを指定しているつもりなのかもしれませんがこれは違います。
しっかり記法を調べてください。

最後に

javascript

1 let log = function(){ 2 console.log("こんにちは"); 3 } 4 setTimeout(log,3000);

ここまでコンソールに「こんにちは」と出せたのであれば
最初にコンソールの代わりにdivに出すように書き換えるべきです。

どこで「こんにちは」と出ているのか分からない場合は、参考書を読むなりして
基本を押さえたほうがいいです。質問している場合ではないです。

javascript

1 let log = document.write("こんにちは"); 2 dsp.innerHTML = setTimeout(log,3000);

何をどうしたくてそう書いているのか本人が認識して書かずにだれが認識するのですか

投稿2020/06/07 06:31

sousuke

総合スコア3828

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

beginner001

2020/06/07 07:03

ありがとうございました
guest

0

ベストアンサー

表示したい場所をつくっておき、それを指定して表示させます

javascript

1<script> 2window.addEventListener('DOMContentLoaded', ()=>{ 3 const log = ()=>{ 4 document.querySelector('#view').textContent="こんにちは"; 5 } 6 setTimeout(log,3000); 7}); 8</script> 9<div id="view"></div>

投稿2020/06/07 06:27

yambejp

総合スコア114837

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

beginner001

2020/06/07 07:04

ありがとうございました。この記述が動作することを確認しました。自分にはまだ難しいところがありますが、少しずつ研究してゆきます。
guest

0

setTimeoutに渡す関数の中で、適切にinnerHTMLに文字列を代入すればよいです。

投稿2020/06/07 06:03

kei344

総合スコア69407

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

beginner001

2020/06/07 07:02

ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問