- 締切済み
ツリー型メニューで、小メニューを開いたまま次のページに行きたい。
ツリー型メニューをナビに使いたいです。 例えば、 ●はじめに ├サイトについて ├わたしについて └会社について ↑このようなメニューを作って、 「はじめに」をクリックすると、 下に「サイトについて」などの小メニューが出てきます。 その後、「サイトについて」をクリックしてページ移動したときに、 メニューが閉じてしまいます。 このツリーが開いたままで移動したいのですが、 どのようにすればよいでしょうか。 ちなみに、このツリーメニューは大量ページに渡って表示するため、 一括で更新できるように、 インラインフレームで読み込んでくるつもりです。 (ほかにわりかたがわからないので・・・) よろしくおねがいします!
- みんなの回答 (3)
- 専門家の回答
みんなの回答
例えば、 親から見たiframeを"frames[0]"。 iframeからみた親窓をparent。 とすると iframeから見て親窓のURLはparent.locationで参照できますね。 iframe内のaのhref属性値は自信のonloadイベントでも使ってdocument.getElementsByTagName('a')[index].hrefなどで参照できますね。 と言うことは、親窓のURLにhref属性の値が含まれているa要素を持つブロックを開いた状態にすれば良いのではないでしょうか。 parent.location:"http://aaa.com/d1/p1.html" iframe <div> <a href="./d0/p0.html">p0</a> <a href="./d0/p1.html">p1</a> <a href="./d0/p2.html">p2</a> </div> <div> <a href="./d1/p0.html">p0</a> <a href="./d1/p1.html">p1</a> <a href="./d1/p2.html">p2</a> </div> この場合/d1/p1.htmlがparent.locationに含まれるので2番目のdivが開いた状態になるようにスクリプトを組めば良いと思います。
- ANASTASIAK
- ベストアンサー率19% (658/3306)
クッキーをつかえば簡単にできます。 例はネットにごろごろころがっていますのでググってご参照を。 但し、クッキーを切っているユーザーには効果ありません。
お礼
実はちょっとググってみたものの、 なんていうキーワードで探ればいいのかさえわからんので、 クッキー云々は調べていませんでした。 さっそくふまえて探してみます。 解答ありがとうございました。
- leap_day
- ベストアンサー率60% (338/561)
>クリックしてページ移動したときに、 これは全体ページを更新してるのでしょうか?target="_top"みたいな感じで・・・ ツリー型メニューは常駐型みたい(?)なので <frame set>を使って左(メニュー)右(表示部){<frame name="right">}のようにして <a href="./***.html" target="right">サイトについて</a> にしたり 全体ページをメニュー用にして<iframe>を表示部{<iframe name="inline">}にして <a href="./***.html" taget="inline">サイトについて</a> のようにしてはどうでしょう?
お礼
変な補足をしてしましました。 「全体ページをiframeにする・・」というのは 「全体ページをメニュー用にして」ということでした。 紛らわしくてすいません。 解答ありがとうございました。
補足
>leap_day様 早速の解答ありがとうございます。 そうです、全体を更新します。 フレームセットのことは考えたんです。 でも、SEOに問題があったりでフレームセットは避けたいのです。 同様に、全体ページをiframeにするのも、 iframe内の情報は、検索対象外でSEOに問題があると指摘されたので、 回避したいのです。
補足
自分の言っていることはこのことのように思いますが、 正直、locationだ、parentだとまったくわからないです。 せっかくお答えをいただいたのに申し訳ないです。 ですが、この方法も勉強してみます。 ありがとうございました!