■デモ
http://www.geocities.jp/qntbd042/
javascript、xml、php等どのような方法でもかまいませんが、こちら側の都合としてはクライアントサイドで処理できる方が助かります。
ページ変遷後にCSSの header_highlight を div タグに指定してあげれば、
特定の部分をオープンにした状態にできます。
ですので、リンク元index.htmlから画面遷移する際にクッキーなどで押した a タグの id などを保存しておき、
変遷後のページではそのidを使い、JavaScriptもしくはPHPなどで、divタグにheader_highlightを
指定してあげればいいと思います。
protoload.jsですが、使った事はないので割愛します。
再回答です。
http://q.hatena.ne.jp/1202807214
の方のものを使って書いてみました。Windows上のIE6/Firefox/Operaで動作確認しました。
index.htmlの方を以下の様にaタグに ?no=数字 を追加します。
この数字は、child.htmlのmenu1-header、menu2-headerの数字と対応させます。
child.htmlに以下のスクリプトを追加します。
function openTab() { var str = ""; //URLの?以降をlocation.searchから取得、正規表現でno=(数値)の数値のみを取得。 var no = location.search.match(/[?&]no=(\d+)(&|$)/); if(no != null){ no = no[1]; } for(var i = 1; i <= 4; i++){ var test = ""; if(i == no) { str = 'menu' + i + '-header'; var d = document.getElementById(str); d.onclick(); } } }
また、dodyのonloadを変更します。
body onload="new Accordian('basic-accordion',5,'header_highlight');openTab();"
これで動くと思います。
ありがとうございます。無事うまくいきました。
ご回答ありがとうございます。おっしゃる通りこのアコーディオンはページを読み込んだ際、classにheader_highlightが入っているものを開くようになっているようです。こちらの説明不足でしたがjavascriptのdocument.writeで指定箇所にheader_highlightを書き出すやり方は試したのですが、うまくうごきませんでした。
以下参照
http://q.hatena.ne.jp/1202807214