スクリプト修正方法

このQ&Aのポイント
  • スクリプトを修正することで、文章の上下に改行をなくすことができます。
  • 修正後のスクリプトは、デザイン上1行で表示されるため、文章の表示までの時間が短縮されます。
  • 具体的な修正方法は、以下の通りです。 1. TE2配列の定義部分を修正し、改行の要素を削除する。 2. TB要素の行数を1行に設定する。 3. SL関数のsetTimeout関数の第一引数を修正し、スクロールスピードを調整する。
回答を見る
  • ベストアンサー

このスクリプトを修正したいのですが

この下のやつを自分が使いやすいように修正しているのですがこのままだと文章の上下に改行が入っていて文章が表示されるまでに時間がかかってしまいます。(デザイン上1行で使用したいので複数行にして解決というのはNGです) どこをどう修正すればいいのでしょうか? よろしくお願いします。 <BODY onLoad="SL();"> <SCRIPT Language="JavaScript"> <!-- CO=0; HC=3; TE=new Array(HC); //↓[\n]は改行 TE[0]="みんなの疑問 \n"; TE[1]="みんなで解決! \n"; TE[2]="教えてgoo \n"; TE2=new Array(); for(i=0;i<=4;i++){TE2[i]="\n";} m=0; for(i=5;i<=HC+4;i++){TE2[i]=TE[m];m++;} for(i=HC+5;i<=HC+14;i++){TE2[i]="\n";} function SL(){ TEXT=""; for(i=0;i<=4;i++){TEXT=TEXT+TE2[i+CO];} document.FO.TB.value=TEXT; CO++; if(HC+10<=CO+1){CO=0;} //↓スクロールスピード setTimeout('SL()',750); } document.write('<CENTER><FORM name="FO">'); document.write('<TEXTAREA name="TB" rows="1" cols="45" readonly style="overflow-y: hidden;"></TEXTAREA>'); document.write('</CENTER>'); // --> </SCRIPT> </BODY> このスクリプトの本はhttp://www.moon.sannet.ne.jp/redcap/html/TB-SCLLO.htmにあります。

  • gfgaaa
  • お礼率78% (312/397)

質問者が選んだベストアンサー

  • ベストアンサー
  • Ikonos00
  • ベストアンサー率28% (86/302)
回答No.1

一行表示なら、スクロールする必要もないですね。 それぞれ表示を入れ替えるという感じでいいと思います。 また、一行なので、TEXTAREAの必要もないです。 INPUTのTYPE="TEXT"で良いです。 <BODY onLoad="SL();"> <SCRIPT Language="JavaScript"> <!-- CO=0; HC=3; TE=new Array(HC); //↓[\n]は改行 TE[0]="みんなの疑問 \n"; TE[1]="みんなで解決! \n"; TE[2]="教えてgoo \n"; function SL(){ document.FO.TB.value=TE[CO]; CO++; if(HC<=CO){CO=0;} //↓スクロールスピード setTimeout('SL()',750); } document.write('<CENTER><FORM name="FO">'); document.write('<input type="text" name="TB" size="20" readonly>'); document.write('</CENTER>'); // --> </SCRIPT> </BODY>

gfgaaa
質問者

お礼

ありがとうございます! 希望通りになったようです! 早々と解決していただいてありがとうございました。/

関連するQ&A

  • 文字列とJavascriptを使用したテキストフォームの間にスペースがはいってしまう

    先ほどJavascriptのほう http://oshiete1.goo.ne.jp/kotaeru.php3?q=2193527 で本題は解決したのですが <strong>What'new</strong> <BODY onLoad="SL();"> <SCRIPT Language="JavaScript"> <!-- CO=0; HC=3; TE=new Array(HC); //↓[\n]は改行 TE[0]="みんなの疑問 \n"; TE[1]="みんなで解決! \n"; TE[2]="教えてgoo \n"; function SL(){ document.FO.TB.value=TE[CO]; CO++; if(HC<=CO){CO=0;} //↓スクロールスピード setTimeout('SL()',750); } document.write('<CENTER><FORM name="FO">'); document.write('<input type="text" name="TB" size="82" readonly>'); document.write('</CENTER>'); // --> </SCRIPT> </BODY> とするとWhat's newとテキストフォームとの間にスペースができてしまいます。 CSSで修正してもできなかったので質問させていただきました。 どなたかよろしくお願いします。

    • ベストアンサー
    • HTML
  • このスクリプトはどこが間違っているのでしょう

    IE7b3です。次のスクリプトの実行時に「";" がありません」というエラーがでるのですが、なぜでしょうか。配列の定義が間違っているようなのですが・・・。 window.onload = function(e) { var w = 0; tbs = document.getElementsByTagName("div"); for (i = 0; i < tbis.length; i ++) { if (tbs[i].className == "tb") { array tbis = new Array(tbs[i].getElementsByTagName("img")); for (j = 0; j < tbis.length; j ++) { if (tbis[j].className == "tbi") { w = tbis[j].getAttribute("width"); alert(w); } } } } };

  • 特定のものにだけスクリプトを有効にする

    今晩は。JavaScript初心者です。 今、雪を降らせるスクリプトを作っています。 外部のjsファイルに記述したスクリプトを、特定のidを付けたdivにだけ有効にしたいです。 -----html------------------------------ <html> <head> <script type="text/javascript" src="js/snow.js"></script> </head> <body> <div id="snow"> </div> </body> </html> -----JavaScript(snow.js)------------------------------ sx = new Array(); sy = new Array(); sp = new Array(); num = 50; scrnx = 100; scrny = 500; function snowWrite() { styl = "<img src='snow.gif' style='position:relative;width:6px;height:6px;z-index:3;top:"; for (i=0; i<num; i++) { sx[i] = Math.floor(Math.random()*100); sy[i] = Math.floor(Math.random()*500); sp[i] = Math.floor(Math.random()*5) + 1; document.write(styl+sy[i]+"px;left:"+sx[i]+"px;' name='snow"+i+"'>"); } } function moveSnow() { for (i=0; i<num; i++) { sy[i] += sp[i]; if (sy[i] > scrny) sy[i] = -10; document.images["snow"+i].style.top = sy[i]; } } snowWrite(); 「document.getElementById」あたりかなと思ったのですが、それだとして(まったく見当違いかもしれませんが)、どこにどう記述してよいのかわかりません。 ご存知の方がいらっしゃいましたら、ご教授いただきたいです。 よろしくお願い致します。

  • 雪が降るようなスクリプト

    <html> <head> <title>*****</title> <script language="JavaScript"> <!-- function MM_preloadImages() { 以下略 } //--> </script> </head> <body bgcolor=onLoad="MM_preloadImages('images/pic.gif', 以下略)"> 以下略 </body> </html> もともと、上の様なHTMLファイルがあり、そこに雪が降っているようなJavaScriptを入れたいんです。 その雪が降るJavaScriptの以下のサンプルは、Web上で見つけました。 ***** <script type="text/javascript"> <!-- sx = new Array(); sy = new Array(); sp = new Array(); num = 30; //降らせる雪の数 scrnx = 600; //雪の降る範囲:横 scrny = 400; //雪の降る範囲:縦 function snow() { styl = "<img src='snow.gif' style='position:absolute;width:8px;height:8px;top:"; for (i=0; i<num; i++) { sx[i] = Math.floor(Math.random()*600); sy[i] = Math.floor(Math.random()*400); sp[i] = Math.floor(Math.random()*5) + 1; document.write(styl+sy[i]+"px;left:"+sx[i]+"px;' name='snow"+i+"'>"); }} function move() { for (i=0; i<num; i++) { sy[i] += sp[i]; if (sy[i] > scrny) sy[i] = -10; document.images["snow"+i].style.top = sy[i]; }} // --> </script> </head> <body bgcolor="#000000" onLoad="setInterval('move()',100)"> <script type="text/javascript"> <!-- snow(); // --> </script> ***** 例えばもともとOnLoadというスクリプトがあるのですが、そこに別の(雪の)OnLoadはどのように記述したらいいのでしょうか。そういうことが分からないので、haed部分と、body部分に雪の降るスクリプトをどのように入れ込んだらいいのか分からないので教えてください。

  • java scriptのwrite()の結果

    <script> document.write("<table border>"); document.write("<tr>"); for(i=0;i<3;i++){ document.write("<td>"+i+"</td>"); } document.write("</tr>"); document.write("</table>"); </script> 例えば上記のような Java Script を作ったとします。 Internet Explorer で実行すると表(HTMLの結果?)が表示されますが、 そうでなく 以下のようなHTMLのスクリプトを表示させる事は できますか? もしできるなら方法をお願いします。 <table border><tr><td>0</td><td>1</td><td>2</td></tr></table>

  • java scriptで読み込むtxtでリンクする

    java scriptを使って外部テキストデータをhtml内に表示させることはできたのですが、そのテキストからさらに別ページへのリンクを貼る方法はあるでしょうか? ■java script内 var data = [ [2010.12.12,ここにコメント], [2010.11.11,'ここにコメント'], [2010.10.10,'ここにコメント'] ]; ※ここにコメントの全文または一部分をリンクさせたいです。 ■html内 <script type="text/javascript" src="data.js"></script> <script type="text/javascript"> for(var i=0;i<data.length;i++) document.write(data[i][0]+'&nbsp; &nbsp;'+data[i][1]+'<br>'); </script> よろしくお願いします。

  • このスクリプトが動かない理由がわかりません。。

    下記スクリプトが動かない原因はわかりますでしょうか。おそらくfor文に原因があると思っています。。 n01 = 0 ^ 0; n02 = 0 ^ 1; n03 = 1 ^ 0; for (i=0; i <= 3; i++){ document.write( n0+i + "<br>" ); } あと一歩で動きそうなのですが。。 よろしくお願い致します。

  • javascriptに関する質問です

    9×9のます目一つ一つに・を表示させるプログラムをつくっているのですがなかなかうまくいきませんどなたかご教授ください <script language="JavaScript" type="text/javascript"> <!-- document.write("<center>"); document.write("<h1>・の表</h1>"); document.write("<table border>"); var i; var j; for (i =・;i=<9 ){ document.write("<tr>"); for(j =・;j=<9 ){ document.write("<td>"); document.write(i * j) document.write("</td>") } document.write("</tr>"); } document.write("</table>"); //--> </script>

  • 要素の、プロパティ一覧を出力させる方法

    初学者ですが、宜しくお願いいたします。 JavaScriptのプロパティにどんなものがあり、実際設定されているのか? から思い立ち、以下のソースを書いてみました。 <form> <textarea id="ta">てすと</textarea> </form> <script type="text/javascript"> //idの付いたオブジェクト毎に、プロパティ一覧を出力させる方法 var prop=document.getElementById("ta"); for(i in prop){ document.write(i+" = "+prop[i]+"<br>"); } </script> 上だと思惑通り上手く行きますが、 ボタンを押したときに、<p id="propatydata"></p>の位置に表示させる仕様に変えようと思い、以下のようにしてみました。 <form> <textarea id="na">てすと</textarea> <input type="button" id="kakunin" onclick="propatys('na');" value="要素のプロパティ一覧を出力" /> </form> <p id="propatydata"></p> <script type="text/javascript"> <!-- function propatys(id){ var props=document.getElementById(id); for(i in props){ document.write(i+" = "+props[i]+"<br>"); } } // --> </script> テンパリました。 chromeの検証で「Uncaught TypeError: Cannot convert object to primitive value」となります。 またページが丸ごと変更?されてしまうようです。IEでもfoxでも動作しない、またはページが丸ごと変更されてしまいます。 出来るだけ簡潔なソースにするため、「for~in」は使って書いた方が良いと思うのですが、英知をお持ちの方、ご教授お願い致します。

  • javascriptとhtmlでテーブル

    あの、分からないことがあります。 <UL>を使って表示したリストを今度はテーブルに埋め込みたいのですがどのようにしたら良いでしょうか?strUniversityで貯めた文字列をテーブルのヘッダーにしてfor文でarray内の値をULで表示してそれぞれをそれぞれのセルに入れて一つのテーブルを作りたいのですが失敗ばかりしてしまいます。 どのようにしたら良いでしょうか?宜しくお願いします。スクリーンショットとソースは以下に。 <HTML> <HEAD> <LINK href="global.css" rel="stylesheet" type="text/css"> <meta http-equiv="Content-Script-Type" content="text/javascript"/> <title></title> </HEAD> <BODY> <script type="text/javascript"> document.title="Courses" //Print document title var strUniversity = "State University"; var arrCourses =new Array(5); arrCourses[0]="English"; arrCourses[1]="Music"; arrCourses[2]="Geography"; arrCourses[3]="Information Systems"; arrCourses[4]="Chemistry"; document.write(strUniversity.toUpperCase()+"<br/>"); for(i=0; i<5; i++) { document.write("<UL><LI>"+arrCourses[i]+"</LI></UL>"); } </script> </BODY> </HTML>

専門家に質問してみよう