• ベストアンサー

マウスをロールオーバーしたときに変わるテキストについて

JavaScript初心者なのですが、学校の宿題でわからないことがあって質問します。マウスをテキストにロールオーバーするたびにメッセージサイクルを2つではなく、3つにしたいのですが。わかりにくい説明ですみません。よろしくお願いします!

  • napua
  • お礼率66% (2/3)

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

  • ベストアンサー
noname#99638
noname#99638
回答No.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を見ると詳しく載ってます。

参考URL:
http://tohoho.wakusei.ne.jp/js/index.htm
napua
質問者

お礼

お礼が遅くなって大変申し訳ありませんでした。 kana-tanさんが書き込んでくださったとうりに、もう一度コードを書き直してみたのですが、IEで動けばいいのですが、どうもうまくいきませんでした。もう少し勉強してやり直してみます。 どうもありがとうございました。

その他の回答 (1)

noname#99638
noname#99638
回答No.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" の方が、近いのかな~?) 全然、回答もつかないようなので参考までに。

napua
質問者

補足

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>

関連するQ&A

  • Flash MCにロールオーバーするとスライドインするテキスト

    これをなんとかやってみようと試行錯誤してますがうまくいきません。ロールオーバーさせようとしているMCはマウスがロールオーバーすると拡大するというスクリプトが書かれています。このアクションと同時にマウスのロールオーバー時にテキストをスライドインさせたいのですが、どのようなスクリプトをかけばよいでしょうか? 透明ボタンを作って拡大されたMCとの当たり判定でテキストをスライドインさせる等の試行錯誤をしましたがうまくいきません。どうかご教授よろしくお願いします。 プライベートのチューターとして、時給でチューターを探そうとさえ考えています。

  • ボタンにロールオーバーで吹き出し表示

    ボタンにロールオーバーで吹き出し表示 flash初心者です。。 ボタンが数個並んでおり、それぞれにロールオーバーすると、吹き出しで説明画像を表示、マウスが外れたら吹き出しも消える、ということをしたいです。 難しいスクリプトを使わずに出来るだけ単純で分かりやすい方法(gotoandplayくらい)で実現するにはどうしたらよいでしょうか? ネットで調べたりしているのですが、スクリプトだと応用が出来ず… ご存知の方がいらっしゃいましたらどうかお教え願えないでしょうか。

  • ロールオーバーの上にテキストを表示するには?

    JavaScriptでロールオーバーを設置したのですが、その画像の上にテキストで説明を表示するにはどうしたらよいのか教えていただけるでしょうか。(テキストはマウスと関係なく常時表示) よろしくお願いします。

  • リンクじゃないテキストの色をマウスオーバーで変えたい

    リンクじゃないテキストの上にカーソルがきたときに テキストの色を変えるにはどうしたらいいのでしょうか? テキストをクリックするとポップアップウィンドウがでるのですが、 そのテキスト部分を、マウスオーバーで色が変わるようにしたいのです。 ポップアップウィンドウはJavascript:;で設定しています。

    • ベストアンサー
    • HTML
  • ロールオーバが遅い

    マウスを載せると画像が変わるロールオーバを使ったページを作成しています。Dreamweaverを使ってロールオーバーやプリロードを指定しているので、マウスを載せるとすぐさま画像スワップが起きるはずなのですが、何と2・3秒もかかってしまいます。 ネットワークがプア、ブラウザの仕様、ソースが複雑、Javascriptの仕様、など考えられるのですが、 どこに原因があるのでしょうか?ご存知の方、是非教えて下さい。 特に、.jsファイルを外部化して読み込ませているのですが、このあたりで注意するところがあれば併せて、宜しくお願い致します。

    • ベストアンサー
    • CSS
  • javascriptを使ってロールオーバーをしたいと思っています

    javascriptを使ってロールオーバーをしたいと思っています どのようにすればいいのでしょうか?

  • テキストにマウスオーバーでポップアップを表示させるには・・・

    よくサイトで見かける、テキストにマウスオーバーでポップアップを表示させたいのですが、どうやったらいいのでしょうか?テキストにマウスが重なると、詳細などが簡単な説明できるようにしたいんです。 使っているソフトはDreamweaverです。宜しくお願いします。

  • ロールオーバーでテキストスクロール

    XMLからデータを取得し、タイトルをリスト表示(5件)し、 タイトルにロールオーバーでタイトルのテキストが左に流れていく。 テキストが流れきったら、右から流れ始める。 ロールアウトでテキストは初期の場所に戻る。 以上のようなflashを作成しようとしているのですが、 悩んでいる部分があります。 テキストが流れきったかどうかの判定は、テキストのMCのX座標の位置に よって判断しています。 テキストの長さは長いものもあれば、短いものもあります。 あらかじめ、テキストエリアの幅を長いものに合わせておくと、 テキストが流れきった後、右からまた流れ始める際に短いテキストだと 流れ始めるまで間が空いてしまいます。 テキストが流れきったら、テキストの長短に関わらず、 すぐに右から流れ始めるようにしたいのですが、良い方法などありますでしょうか。 よろしくお願いします。 環境は以下です。 FLASH CS3 ActionScript2.0

    • ベストアンサー
    • Flash
  • 代替テキストを素早く表示

    画像にロールオーバーした時に出てくる代替テキストの時間を早めることは出来ませんか? マウスオーバーしたら通常だと一瞬間をおいて出ますよね。これをすぐに出したいのですが、htmlのみ(またはjavascript)では実現できませんか?即出ししたければFlashを使わないとダメでしょうか?

    • ベストアンサー
    • HTML
  • ロールオーバーの動作について

    なんと表現すればいいものか悩んだのですが下記のような 感じで画像のロールオーバーで表示が変わるものを探しています。   A 1 2 3   T ※A,1,2,3は画像です。 Aには最初に表示される画像があり1,2,3にマウスを合わせると Aの箇所に拡大画像が表示されロールアウトするとAは最初に 表示されていた画像に戻ります。 同時にロールオーバーするとTの箇所にそれぞれ任意のテキストを 表示させたいのですがどのようにすればいいものか全くわからない 状態です。 無知なものでサンプルがないものかと探してみたのですが探し方が 悪いものかなかなか見つかりませんでした・・・ 詳しい方やサンプル等ご存知の方がおりましたら是非ご教授 お願い致します。