- ベストアンサー
マウスをロールオーバーしたときに変わるテキストについて
JavaScript初心者なのですが、学校の宿題でわからないことがあって質問します。マウスをテキストにロールオーバーするたびにメッセージサイクルを2つではなく、3つにしたいのですが。わかりにくい説明ですみません。よろしくお願いします!
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
惜しかったのですね。 napuaさんが、補足でおっしゃっているように、Array(配列)を使えばできると思います。 下のような感じですか? (JavaScriptの部分だけ書きなおしました) <SCRIPT LANGUAGE="JavaScript"> //配列オブジェクトの作成です msg = new Array("おはよう","こんにちは","こんばんは"); i = 0; function myPara_onmouseout() { myPara.innerText = "Wow that feels good!!!"; myPara.style.color = "Red" } //変更してみました function myPara_onmouseover() { myPara.innerText = msg[i]; i++; if(i==msg.length){ i=0; } myPara.style.color = "Black"; } </SCRIPT> </HEAD> でもこれってIEでしか動かないんですが良いですか? (NNで同じことをしようとすると結構面倒くさそう?) というわけで、がんばって下さい。 文法的な部分は参考URLを見ると詳しく載ってます。
その他の回答 (1)
質問の内容がさっぱりわからないので、想像で補って書いてみました。 こういうことですか? <HTML> <HEAD> <SCRIPT LANGUAGE="JavaScript"> msg = new Array("おはよう","こんにちは","こんばんは"); i = 0; function msgChange(){ status=msg[i==msg.length?i=0:i++]; } </SCRIPT> </HEAD> <BODY> <A HREF="javascript:void(0)" onMouseOut ="status='Hello';return true" onMouseOver ="msgChange();return true" >ようこそ</A> </BODY> </HTML> (もしかすると onMouseOut ="status=msgChange();return true" の方が、近いのかな~?) 全然、回答もつかないようなので参考までに。
補足
kana-tanさん、コメントが遅くなってすみませんでした。 私の説明がほんとにわかりにくいのに、回答ありがとうございます。初心者で、ほんとうに何もわかっていなくて、説明もままならない状態でして・・・それで、実際にコードをここに書き込む事にしました。これで、質問がわかりやすくなるといいのですが。kana-tanさんの書き込んでくださったコードでいうと、ステイタスバーではなく、'ようこそ’の部分のテキストが直接”おはよう”、”こんにちは”、”こんばんわ”に変わるようにしたいのですが・・・私の書き込んだコードだと、 myPara.innerText = "Roll your mouse over mytext" の””内の部分のテキストが2種類ではなく3種類にしたいのです。kana-tanさんが書き込んでくださったように、arrayを使えばよいのでしょうか。本当にわかりにくい質問で申し訳ありませんでした。 <HTML> <HEAD> <SCRIPT LANGUAGE=JavaScript> function myPara_onmouseout() { myPara.innerText = "Roll your mouse over my text"; myPara.style.color = "Black" } function myPara_onmouseover() { myPara.innerText = "Wow that feels good!!!"; myPara.style.color = "Red" } </SCRIPT> </HEAD> <BODY> <P ID="myPara" onmouseout="return myPara_onmouseout()" onmouseover="return myPara_onmouseover()"> Roll your mouse over my text </P> </BODY> </HTML>
お礼
お礼が遅くなって大変申し訳ありませんでした。 kana-tanさんが書き込んでくださったとうりに、もう一度コードを書き直してみたのですが、IEで動けばいいのですが、どうもうまくいきませんでした。もう少し勉強してやり直してみます。 どうもありがとうございました。