- 締切済み
特殊なドロプダウンメニューについて
javascriptのドロップダウンメニューの作成について質問させてください。 現在、あるサイトでグローバルナビゲーションにドロップダウンメニューを実装しようとしているのですが、壁にあたってしまいました。 ↓参考サイトです http://flatone.s206.xrea.com/index.html こういったドロップダウンメニューなのですが、これを例にあげさせてもらうと、例えばこのメニューのページ1というページをクリックしてpage1ディレクトリ以下に自分がいる時はページ1ボタンのドロップダウンメニューを"出さない"ということがやりたいのです。 自分なりに色々とやってはみたものの、javascriptの経験が浅いので正直なところよくわからないのが現状です。 どなたかこのような事例のサンプルを紹介しているサイトをお知りの方、もしくは解決法をご教授いただければ幸いです。 そこまで至らなくてもどのような手法を取ればできそうかということだけでも良いのでご意見をください。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- rumi_ です☆(@rumi_)
- ベストアンサー率81% (36/44)
> 全メニュー(page1~page5)のドロップダウンメニューが表示されない状態になりました。 そうでした、ごめんなさい(^^; ↓これで、どうですか? if ((tagName=="Layer1")&&(document.URL.indexOf("/page1/",0)>0)) return;
- rumi_ です☆(@rumi_)
- ベストアンサー率81% (36/44)
そのサンプルに従って「page1ディレクトリ」が http://flatone.s206.xrea.com/page1/ なのだとすると、現在いるページ URL に "/page1/" が含まれるかどうかで処理できると思います。 たとえば、 function showMenu(tagName) と function MM_showHideLayers() のどちらか(あるいは両方)の第1行に if (document.URL.indexOf("/page1/",0)>0) return; を入れてみてはいかがですか?
お礼
rumi_さん、ご回答ありがとうございます。 ご教授いただいた方法をやってみたところ確かにpage1ディレクトリにいる時はドロップダウンメニューが表示されないようになったのですが、全メニュー(page1~page5)のドロップダウンメニューが表示されない状態になりました。 これは私の説明が悪かったのですが、これでpage1ディレクトリにいる時はpage1のメニューのドロップダウンメニューは"出ない"状態で、後のpage 2~5まではドロップダウンメニューが"出てほしい"のです。 自分でもrumi_さんにご教授いただいた方法とifを使ってどうにかならないかと試してみたのですが、知識不足で解決に至りませんでした。 今一度、ご教授いただければ幸いです。
お礼
rumi_さん、本当にありがとうございます。 ご教授いただいた方法を試してみたところ、 function showMenu(tagName)の第1行に入れてみたところ変化はなく、 function MM_showHideLayers()の第1行に入れてみたところすべてのページのドロップダウンメニューが表示されなくなってしまいました。 ただ、このrumi_さんのサンプルでやっと理解できたのですが「特定のディレクトリ以下にいるときは関数が実行されない」というようにしてやれば良いわけですね。 初心者なものでそんなことすら理解が及んでいませんでした^^; 方向性が見えたのでもう少し自分でも頑張ってみたいと思います。