• ベストアンサー

テロップを作りたい:JavaScript、DHTML

こんにちは。 詳しい方、ぜひ教えてほしいですが、 ウェブページにテロップを流したいです。 仕様ですは次のようです。 ■言語:「JavaScript」または「DHTML」です。 ■リンク設定できるようにしたい。 なお、「JavaScript」と「DHTML」とでのメリット・デメリットについてもアドバイスいただけたらありがたいです。 以上、どうぞ宜しくお願いいたします。

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

  • ベストアンサー
  • T0ngT0ng
  • ベストアンサー率40% (8/20)
回答No.2

> ■流したいテキストを外部ファイルとして持たせるか > (.jsですかね?流したいものがたくさんあって、なるべくページのソースは触りたくないので) > ■各テキストにリンクがはれるか。 個人的にはjsにたくさんデータを持たせるよりは、ページのほうにたくさん 書くほうがいいと思いますが。。。 そのへんはお好きなように。 jsファイルで持つなら、setIntervalを呼ぶ前に、動かす部分の 文字列をセットしてあげる必要があります。 リンクを貼りたいのならinnerHTMLとかで書けばいいでしょう。 テロップだから右から流れてきたほうがいいですね。 また、右端は切りたいので大体次のよう感じどうでしょう。 (相変わらず、戻ってはきません。) -- <div style="overflow:hidden;width:300;"> <span id="aa" style="position:relative;left:300;"></span> </div> <script type="text/javascript"> var targ=document.all.item("aa"); targ.innerHTML="hoge<a href='dummy.html'>aaa</a>test"; setInterval("move();",10); function move(){ targ.style.left=parseInt(targ.style.left)-1; } </script> -- 本来はJavaScriptの中であっても "<"とか">"は実態参照で&gt;とか&lt; のようにかくべきなのですが、めんどくさいのでやっていません。 > ■流れるテキストにマウス・オンした場合、テキストが > とまるようにできるか。 setIntervalで戻り値にタイマのIDが返されるので、この値を clearIntervalに渡せば止まります。 onMouseOverでとめて、onMouseOutで再開すればいいと思います。 ああ、大事なことを忘れてました。 JavaScriptの実装はブラウザ依存です。上記サンプルは IE6、Opera7では動きましたが、他のブラウザで動く保証はありません。 ご注意ください。 ※おそらくNNでは無理でしょう。FireFoxはどうかな??

cgi_syoho
質問者

お礼

今晩は。 ご指導いただき、どうもありがとうございます。 (お礼をいうのが大変遅くなり、申し訳ありません) お蔭様で「DHTML」仕様にて、実装できました。 ありがとうございました。

その他の回答 (1)

  • T0ngT0ng
  • ベストアンサー率40% (8/20)
回答No.1

JavaScript等で動的に操作できるようHTMLを拡張した仕様がDHTMLだったと思います。ですのでJavaScriptまたはDHTMLということは無くて、両方使うことになります。 具体的には、DIV等でテロップとして流す文字列を書いておいて、setIntervalで動かすとでしょうか? だいたい以下のような感じかとおもいます。 (このままだと、どこまでも左に行ってしまい戻ってきませんが。) -- <div id="aa" style="position:absolute;top:0;left:0;"> hoge</div> <script type="text/javascript"> function move(){ var targ=document.all.item("aa"); targ.style.left=parseInt(targ.style.left)+1; } setInterval("move();",10); </script> IE独自仕様ですが、同じようなことが<marquee>というタグでもできます。 こちらではだめですか?(一応Opera7では動きました) http://www.htmq.com/html/marquee.shtml

参考URL:
http://www.htmq.com/html/marquee.shtml
cgi_syoho
質問者

補足

さっそくの回答をありがとうございます。 ちょっと補足させてください。 まず、ご指摘にもありましたが、DHTMLでOKです。 その場合、 ■流したいテキストを外部ファイルとして持たせるか (.jsですかね?流したいものがたくさんあって、なるべくページのソースは触りたくないので) ■各テキストにリンクがはれるか。 ■流れるテキストにマウス・オンした場合、テキストが とまるようにできるか。 以上3つの点、よろしかった教えていただけますか。 どうぞ宜しくお願いいたします。

関連するQ&A

専門家に質問してみよう