※ ChatGPTを利用し、要約された質問です(原文:オンマウスで流れる文字)
オンマウスで流れる文字の表現方法
このQ&Aのポイント
オンマウスで文字が流れる効果を実現する方法について知りたいです。具体的には、リンクにマウスを乗せると文字列が左に流れるような仕掛けをPCサイトで表現したいです。
現在、検索しているものの、どのような方法が適切なのかわかりません。JavaScriptに詳しくないため、特定の要件を満たす方法が見つからない状況です。
試したい方法として、<marquee>タグを使用してみましたが、文字列が右から左に流れるだけで、マウスを乗せると左に流れるような効果を実現することができませんでした。このような動きを実現する方法を知りたいです。
「リンクがはってある文字列があり、マウスのポインタを
リンクの上にもっていく(onmouseover、a:hover状態)と文字列が左に流れる」
という仕掛けをしたいのですが、方法がわかりません。
携帯でいうところの(au限定)「<div style="white-space:nowrap">オンマウスで文字が流れます</div>(参考サイト…http://htmlcssdesign.no-mania.com/Entry/3/)」状態をPCサイトで表現したいです。
ブラウザが限定されも良いので何か方法はないでしょうか?
たとえば、
「<marquee onmouseout=this.stop() onmouseover=this.start()>~</marquee>」を指定しておいて、ページ読み込み時に全Marqueeをストップさせるとか考えたのですが、
恥ずかしながらJavaScriptがあまり詳しくなく、かなり検索してますが
「全Marqueeをストップさせる」方法自体がどうしてもわかりません。
第一「Marquee」ですと、枠の一番右から始まってしまい
「すでに文字列が表示されていて、
マウスを上にもっていくとそのまま左に動き出す」
という形になりません。
「動いてる文字列を止める」というのは沢山見つかるのですが、
「止まっている文字列を動かす」が全くみつかりません。
《html》
<div id="box">
<ul>
<li><a href="#">長ーーい文章。長い文章。長い文章。長い文章の終了。</a></li>
<li><a href="#">長ーーい文章2。長い文章。長い文章。長い文章の終了。</a></li>
<li><a href="#">長ーーい文章3。長い文章。長い文章。長い文章の終了。</a></li>
<li><a href="#">長ーーい文章4。長い文章。長い文章。長い文章の終了。</a></li>
<li><a href="#">長ーーい文章5。長い文章。長い文章。長い文章の終了。</a></li>
</ul>
</div>
《CSS》
*{marign:0; padding:0;}
div#box{
width:200px;
overflow:hidden;
}
div#box li{
white-space:nowrap
}
===
上記でいうと、リンクのはられてる文字列「長ーーい…長い文章の終了。」の上に
マウスをもっていくとすこしずつ左に流れ始めるイメージです。
何卒よろしくお願い致します。
お礼
本当にありがとうございました! これを機会にジャバスクリプトの本を買ってきました。 いただいた回答とじっくり向き合ってみます。