• ベストアンサー

JavaScriptでドロップダウンリスト

下記ページのようなものを作りたいです。 ---------- http://www.resonate.co.jp/ 中段「Access」の部分の感じ ---------- これはFlashですが、確かJavaScriptでもできたと記憶しています。 が、その作り方を紹介しているページを探し出すことが出来ませんでした。 このようなドロップダウンリストはJavaScriptで出来ますか?また、出来るとした場合、その方法を紹介しているページがあれば教えてください。

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

じゃ、こんな感じで <style type="text/css"> .head-on{ width:150px; border:5px solid #556C1F; background-color:#556C1F; color:#FFFFFF; } .head-off{ width:150px; border:5px solid #93A659; background-color:#93A659; } .sub-on{ display:block; } .sub-off{ display:none; color:#000000; } .sub-def{ width:150px; background-color:#B0BB8A; border:5px solid #B0BB8A; text-decoration:none; color:#000000; } .sub-over{ width:150px; background-color:#D0DBAA; border:5px solid #D0DBAA; text-decoration:none; color:#000000; } } </style> <div style="position:absolute"> <span style="float:left;" onMouseover="changeClass('menu1','head-on'); changeClass('sub1','sub-on')" onMouseout ="changeClass('menu1','head-off');changeClass('sub1','sub-off')"> <span class="head-off" id="menu1">TEST1</span><br> <span id="sub1" class="sub-off"> <a href="http://www.yahoo.co.jp"><span class="sub-def" onMouseover="this.className='sub-over'" onMouseout="this.className='sub-def'">TEST1</span></a><br> <a href="http://www.yahoo.co.jp"><span class="sub-def" onMouseover="this.className='sub-over'" onMouseout="this.className='sub-def'">TEST1</span></a><br> <a href="http://www.yahoo.co.jp"><span class="sub-def" onMouseover="this.className='sub-over'" onMouseout="this.className='sub-def'">TEST1</span></a><br> <a href="http://www.yahoo.co.jp"><span class="sub-def" onMouseover="this.className='sub-over'" onMouseout="this.className='sub-def'">TEST1</span></a><br> </span> </span> <span style="float:left;" onMouseover="changeClass('menu2','head-on'); changeClass('sub2','sub-on')" onMouseout ="changeClass('menu2','head-off');changeClass('sub2','sub-off')"> <span class="head-off" id="menu2">TEST2</span><br> <span id="sub2" class="sub-off"> <a href="http://www.yahoo.co.jp"><span class="sub-def" onMouseover="this.className='sub-over'" onMouseout="this.className='sub-def'">TEST2</span></a><br> <a href="http://www.yahoo.co.jp"><span class="sub-def" onMouseover="this.className='sub-over'" onMouseout="this.className='sub-def'">TEST2</span></a><br> <a href="http://www.yahoo.co.jp"><span class="sub-def" onMouseover="this.className='sub-over'" onMouseout="this.className='sub-def'">TEST2</span></a><br> <a href="http://www.yahoo.co.jp"><span class="sub-def" onMouseover="this.className='sub-over'" onMouseout="this.className='sub-def'">TEST2</span></a><br> </span> </span> <span style="float:left;" onMouseover="changeClass('menu3','head-on'); changeClass('sub3','sub-on')" onMouseout ="changeClass('menu3','head-off');changeClass('sub3','sub-off')"> <span class="head-off" id="menu3">TEST3</span><br> <span id="sub3" class="sub-off"> <a href="http://www.yahoo.co.jp"><span class="sub-def" onMouseover="this.className='sub-over'" onMouseout="this.className='sub-def'">TEST3</span></a><br> <a href="http://www.yahoo.co.jp"><span class="sub-def" onMouseover="this.className='sub-over'" onMouseout="this.className='sub-def'">TEST3</span></a><br> <a href="http://www.yahoo.co.jp"><span class="sub-def" onMouseover="this.className='sub-over'" onMouseout="this.className='sub-def'">TEST3</span></a><br> <a href="http://www.yahoo.co.jp"><span class="sub-def" onMouseover="this.className='sub-over'" onMouseout="this.className='sub-def'">TEST3</span></a><br> </span> </span> </div> <br><br> test<br> test<br> test<br> test<br> test<br> test<br> test<br> test<br> test<br> test<br> test<br> <script language=javascript> function changeClass(obj,cn){ document.getElementById(obj).className=cn; } </script>

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

理論は簡単ですが、やるとおもったより面倒。 なるべく似せてみましたが、こんなかんじですで いかがですか? (とびさきはすべてyahooになってますけど) <style type="text/css"> .main-off{ position:relative; float:left; height:1em; width:150px; overflow:hidden; border:0px solid; background-color:#93A659 } .main-on{ float:left; overflow:hidden; width:150px; background-color:#556C1F; color:#ffffff; border:0px solid; } .sub-on{ position:relative; float:left; overflow:hidden; width:150px; border:0px solid ; text-decoration:none; } .sub-off{ position:relative; float:left; overflow:hidden; width:150px; color:#000000; background-color:#B0BB8A; border:0px solid ; text-decoration:none; } } </style> <div class="main-off" onMouseover="this.className='main-on';document.getElementById('Facilities').innerHTML='館内施設'" onMouseout="this.className='main-off';document.getElementById('facilities').innerHTML='Facilities'"> <span id="facilities" >Facilities</span><br> <a href="http://www.yahoo.co.jp"><span class="sub-off" onMouseover="this.innerHTML='客室'" onMouseout="this.innerHTML='Guest Room'">Guest Room</span></a><br> <a href="http://www.yahoo.co.jp"><span class="sub-off" onMouseover="this.innerHTML='レストラン'" onMouseout="this.innerHTML='Restaurant'">Restaurant</span></a><br> <a href="http://www.yahoo.co.jp"><span class="sub-off" onMouseover="this.innerHTML='温泉'" onMouseout="this.innerHTML='Hot Spring'">Hot Spring</span></a><br> <a href="http://www.yahoo.co.jp"><span class="sub-off" onMouseover="this.innerHTML='ショップ'" onMouseout="this.innerHTML='Shop'">Shop</span></a><br> <a href="http://www.yahoo.co.jp"><span class="sub-off" onMouseover="this.innerHTML='その他施設'" onMouseout="this.innerHTML='Other'">Other</span></a><br> </div> <div class="main-off" onMouseover="this.className='main-on';document.getElementById('access').innerHTML='交通案内'" onMouseout="this.className='main-off';document.getElementById('access').innerHTML='Access'"> <span id="access" >Access</span><br> <a href="http://www.yahoo.co.jp"><span class="sub-off" onMouseover="this.innerHTML='交通案内'" onMouseout="this.innerHTML='Access'">Access</span></a><br> <a href="http://www.yahoo.co.jp"><span class="sub-off" onMouseover="this.innerHTML='バスチャーター'" onMouseout="this.innerHTML='Buscharder'">Buschater</span></a><br> </div>

master-3rd
質問者

補足

返答ありがとうございます。 まずは、ロールオーバー時の"英語→日本語"は必要ありません。この場合、どこを削ったら良いのでしょうか? また、太さ(高さ)を変更できないのでしょうか?(色々とやってみたのですがうまく出来ませんでした) さらに、このボタンを5~6こ横に並べたいので、それぞれをテーブルの中に入れたいと思います。こちらも変な動作をする(デザインが崩れると言えば良いのでしょうか。微妙に上下に動いてしまいます)のですが、何か良い解決方法は無いでしょうか?

関連するQ&A

  • javascriptだけでドロップダウンリスト

    あるサイトに行ったら、htmlでなく(?)javascriptだけでドロップダウンリストを表示し、リンクさせていました。つまり小さなボタンを押すと、リストが広がって表示されます。これは、ちょっと面倒なテクニックでしょうか?短いスクリプトで使えるなら是非知りたい。長いものならパス・・・。

  • 特定のドロップダウンリストを表示させるには?

    ホームページで、メールフォームの一部にドロップダウンリストを使用しています。通常はユーザーの方にリストから一つ選んでもらっているのですが、特定のリンク元からメールフォームのページに飛んだときにのみ、あらかじめ指定のリストを選択状態にしておきたいと考えています。 つまり、デフォルトのドロップダウンリストを表示させる場合と、それとは異なるリストを表示させる場合とを使い分けたいのですが・・・可能でしょうか。 HTMLか、JavaScriptか、CGIか・・・いろいろ調べてみたのですが、分かりませんでした。 どなたか、教えてください!!

    • ベストアンサー
    • HTML
  • Javascriptなどでドロップダウンさせる場合

    例えば階層式のナビゲーションをJavascriptを使ってドロップダウンにする場合などに、マウスオーバーで表示する部分を隠す方法なのですが、 現在わたしはHTMLでは、隠す部分も含めて全て書いておいて、一旦表示してからJavascriptで非表示にしています。 そうするとページ読み込み時に一瞬隠す部分が表示されてから消えます。 はじめからCSSでdisplay:noneなりをすれば表示されませんが、その方法だとSEO上不安です。 隠す部分をHTMLには書かずに、あとからJavascriptで追加する方法も考えましたが、HTMLにメニュー部分が含まれないことになってしまうので、これもSEO上良くないと思います。 上記のほかに、良い方法は無いでしょうか?

  • ドロップダウンリストについて

    ドロップダウンリストの作成についてお願いします。 列にドロップダウンリストを作る方法はわかるのですが、行に作る方法がわかりません。 可能なのでしょうか?また、できればその方法について教えていただきたいです。 よろしくお願いします。 EXCEL2004forMac OS:mac OS X 10.4.8 使用しています。

  • ドロップダウンリストで次のリストを変える

    メールフォームCGIを製作中です。 入力ページ自体はHTMLページなのですが、ここにドロップダウンリストをつけています。 で、ここ教えてgooでもカテゴリ分けのときに使っていますが、1つ目のリストを決定すると2つ目のリストが選択できるようになるようにしたいと考えています。 どのようにしたら出来るのでしょうか? もしかして、そんなに簡単には出来ないものなのでしょうか? 方法を教えてください。お願いします。

    • ベストアンサー
    • HTML
  • excelでのドロップダウンリストを作りたい

    例えば下記のような表があって、そこの列に入る文字をドロップダウンリストから選びたいのです。 例)    りんご    みかん    なし 色々なホームページを見て「入力規制」というものをしてみたのですが、私が欲するものではありませんでした。 何故なら  (1)入力規制をしてしまうと新しい文字を入力することができない。→絶対に新しい文字を入力する為。 (2)なら余白部分までもセルを選択して入力規制をする。→見た目かっこ悪い。かっこよさを求めているため、余白や同じ文字をドロップダウンリストに入れたくない。 初心者の部類に入る私の質問に是非お答えください。 どうすれば、かっこいいドロップダウンリストができますか?

  • Wordでドロップダウンリストを作る時

    こんにちは。 Wordでドロップダウンフォームフィールド機能を使って、 文書内にドロップダウンリストを作成する時、 フォームの保護をかけないとドロップダウンリストが使えないと思うのですが、文書内に他にも手入力する部分がたくさんある場合はどのようにしたらよいのでしょうか。 例えば、氏名、会社名などを入力し、会社の業種などをドロップダウンリスト一覧から選ばせる場合などです。 ドロップダウンリストから選択できるようにすると、 他の項目に入力できないので困っています。 どなたか詳しい方がいらっしゃいましたら教えていただけますでしょうか。よろしくお願いします。

  • ドロップダウンリストで画像をリストにすることは可能でしょうか?

    ドロップダウンリストで使いたいリストのひとつに オートシェイプで作成した画像があるのですが、 何かいい方法はありませんでしょうか? ドロップダウンリストにこだわっているわけではないのですが イメージとしてはひとつのセル内においてのリスト選択で入力規則しか思いつくものがなくて悩んでいます。 宜しくお願い致します。

  • ドロップダウンリスト

    ホームページビルダーのver6.5を使って ドロップダウンリストを作りたいのですが、操作方法を教えて下さい

  • ドロップダウンリストのリンク先

    ビルダーを使ってHP作成しています。 リンクのページでドロップダウンリストを使おうと思い、説明書の通りにやったら、一応出来ました。 しかし、そのページはフレームで2つに別れているんです。 Aのページにドロップダウンリストを置いているのですが、Bのページに表示して欲しいんです! しかしそのやり方が分かりません(××; 設定の仕方など、教えてください! よろしくお願いします!!

専門家に質問してみよう