プログラミング超初心者です。課題でtext入力さ

Writer: admin Type: 消費者問題 Date: 2018-12-18 00:00
プログラミング超初心者です。課題でtext入力されたものを2秒ごとに一文字づつ表示していくものをやっています。2秒ごとに実行する関数を作ったんですがうまく動作しません。繰り替えし、処理をしてからがおかしいと思うんですが。。。どなたか助けていただけると嬉しいです。<script> // 入力できた文字が2秒ごと一文字ずつ順番に表示さてるbプログラムを組む // 2秒後に繰り替えさてるプログラムを作る function count_timer(){ setInterval(count,2000); } // textを呼び出して一文字つつ表示させるプログラムを作る function count(){ // まずtextの内容を指定する var count =document.getElementById('text').value // 文字数をし指定する関数を作る count[i] for (var i = 0; i<count.length, i++){ // innerHTMLを表示させるboxを呼びだす var box =document.getElementById('box'); // boxのinnnerHTMLの内容をcount[i]に変更 box.innerHTML = count[i] } } window.onload =function(){ var button =document.getElementById('button'); button.addEventListener('click',count_timer,false); } </script> </head> <body> <input type ="text" id ="text" > <button id ="button">1文字ずつ表示</button> <div id ='box'></div>共感した0###HTML はそのままでも良いですがJavaScript に変更すべき点が多過ぎます。【JavaScript 部分の変更例】↓<script>// 入力できた文字が2秒ごと一文字ずつ順番に表示さてるbプログラムを組む//各変数の宣言var intevalID, cnt, box;// 2秒後に繰り替えさてるプログラムを作るfunction count_timer(){    clearInterval(intevalID);    cnt = 0;    box =document.getElementById('box');    box.textContent = "";    // count(); //←要・不要 が不明    intevalID = setInterval(count, 2000);}// textを呼び出して一文字つつ表示させるプログラムを作るfunction count(){    // まずtextの内容を指定する    var txt = document.getElementById('text').value;    box.textContent = txt.substr(0, ++cnt);    if(cnt >= txt.length){        clearInterval(intevalID);    }}window.onload =function(){    var button =document.getElementById('button');    button.addEventListener('click', count_timer, false);}</script>ナイス0
###【補足】なおwindow.onload =function(){…}というイベントハンドラ登録形式の中にbutton.addEventListener('click', count_timer, false);のようなイベントリスナー登録形式を入れる。というチグハグな部分はいかがなものか?ということが気になりましたがこのままでも動かないこともなく違反でもないとは思うのでそこはそのままにしました。
###詳しくありがとうございます。よくわかりました!いつもinnerHTMLを使っていので textcontentというのはinnnerHTMLと同じ認識でいいのでしょう?どちらにせよ非常に助かりました###どこがおかしいか、基本的なことが間違っていた場合、それを教えてくれるのがコンソールというものです。コンソールの開き方はブラウザによって違うので全てを説明できませんが、F12とかで開けるかと思います。それを見ればエラーの場所が分かります。ナイス0
###function count(){の中に書いてあるコードの後ろに;が付いてない行がいくつかあるようだけど・・・そこでエラーになって止まっちゃうからcount()を一回実行して止まっちゃってるんじゃね?ナイス0

 

TAG