###前提・実現したいこと
指定のテキストボックスに1文字ずつ表示させること。
(イメージとしてはポケモンのセリフように表示させたい)
###該当のソースコード
HTML
1<!DOCTYPE html> 2<html lang="ja"> 3 <head> 4 <meta charset="utf-8"> 5 <link rel="stylesheet" href="css/reset.css"> 6 <link rel="stylesheet" href="css/pokemon.css"> 7 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 8 <title>Pokemon</title> 9 </head> 10 <body> 11 <div class="flame"> 12 <img src="images/flame.jpg" alt="" width="500px;" height="450px"> 13 <audio src="music/voice.wav" id="voice"></audio> 14 <audio src="music/bgm.mp3" id="bgm" loop="loop"></audio> 15 <video src="video/video.mp4" id="video" autoplay width="312px" height="300px;" onclick="opning()"></video> 16 <p id="textbox" value=""></p> 17 </div> 18 19 <script type="text/javascript" src="pokemoscript.js"> 20 </script> 21 </body> 22</html> 23
javascript
1function text1(){ 2 var str = "ようこそ!ポケットモンスターのせかいへ!"; 3 var cnt = document.getElementById('textbox').length; 4 while(cnt == str.length){ 5 var m = str.substr(0 + cnt,1); 6 $('#textbox').append(m); 7 }
###補足情報(言語/FW/ツール等のバージョンなど)
何度も質問をしてしまって、大変申し訳ありません。お力をお貸しいただけるとありがたいです。
html上の<p>タグにセリフを表示させたいと考えています。
そこでjsで関数を組んでいます。具体的には、表示させたいセリフをstrという変数を宣言し、<p>タグに入力されている文字列の長さをcntという変数を宣言しました。
while文を使い、cntとstrが同じになるまで、処理を行います。行う処理としては、宣言した文字列を先頭から切り出して、pタグに追加を行うという処理です。
この関数を実行した時に文字が表示されません。
具体的に実現させたいこととして、
①1文字ずつ表示させたい。
②セリフが全て表示ができた時に、次のセリフを表示させる関数に処理を移行させたい。
何が足りないかわからないことだらけで、大変申し訳ありませんが、厳しいアドバイスでもいいので、ご教授のほどよろしくお願いいたします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/05/08 09:10