プロが教える店舗&オフィスのセキュリティ対策術

JavaScriptを利用しツリーメニューを作成していますが、
ページを飛んで戻ってくるとメニューが閉じてしまいます。
更新を押した場合も同じです。
それを開いた状態に保っておきたいのです。

ちなみにソースは、
<HEAD>
<SCRIPT language="JavaScript">
<!--
// ツリーメニュー
flag = false;
function treeMenu(tName) {
tMenu = document.all[tName].style;
if(tMenu.display == 'none') tMenu.display = "block";
else tMenu.display = "none";
}
//-->
</SCRIPT>
<HEAD>
と最初に書いておいて、
ツリーメニューを表示させたいところに、
<A href="javaScript:treeMenu('treeMenu1')">○○○</a><br>
<DIV id="treeMenu1" style="display:none">
 ┣<A href="aaa.html">aaa</A><BR>
 ┣<A href="bbb.html">bbb</A><BR>
 ┗<A href="ccc.html">ccc</A><BR>
</DIV>
と書いてます。
どこをどのように変えればよいですか?
よろしくお願いします。

また参考にさせて頂いたサイトも一緒に載せておきます。
http://javascript.eweb-design.com/0703_tm.html

A 回答 (3件)

No.2です。


一応、Firefox 3.6 と IE 8.0 と GoogleChrome 5.0
で確認してあります。(operaでもSafariでも最新のならOKのはず)

 HTML5ですから、古いブラウザーはだめでしょう。

昔ながらの方法はCookie利用です。その例は、
あちこち(このカテゴリーにも)にたくさんあるので
書いても無駄かなと思ったのですが、ありがとうポイントくれるなら
書きます。

この回答への補足

何度もありがとうございます。
では恐らく「古いブラウザー」だったのだと思います。
お手数おかけして申し訳ありませんでした。

>あちこち(このカテゴリーにも)にたくさんあるので
とのことでしたので、「ツリー cookie」で調べてみましたところ、
私の希望しているプログラムが書かれているサイトを見つけることができました。

やってみると思っていた通りの動きをしてくれましたのでほっとしました。
助言して頂きありがとうございました。

補足日時:2010/07/07 23:42
    • good
    • 0
この回答へのお礼

補足ではなくお礼です;すみません;

お礼日時:2010/07/07 23:42

Cookieじゃないけど、似たようなのを使って



 HTML5 Web Strage を使ってみた:最新のブラウザーで試してね)

※全角空白は半角空白にしてね

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>HTML 5 WebStrage Test</title>
<style type="text/css"></style>
<script type="text/javascript">
function treeMenu(tName) {
 var tMenu = document.querySelector('#'+tName);
 if(localStorage.flag=='off'){
  localStorage.flag='on';
  tMenu.style.display='block';
 }else{
  localStorage.flag='off';
  tMenu.style.display='none';
 }
}
function chk(tName){
 var tMenu = document.querySelector('#'+tName);
 tMenu.style.display=(localStorage.flag=='off')?'none':'block';
}
</script>
</head>
<body onload=chk('treeMenu1');>
<p><h3>HTML 5 WebStrage Test</h3></p>
<A href="javaScript:treeMenu('treeMenu1')">○○○</a><br>
<div id="treeMenu1" style="display:none">
 ┣<a href="aaa.html">aaa</a><br>
 ┣<a href="bbb.html">bbb</a><br>
 ┗<a href="ccc.html">ccc</a><br>
</div>
</body>
</html>

この回答への補足

回答ありがとうございます。

回答者様の言う通り、全角空白を半角空白に変えて、そのままタグを書いてみたんですが、
全く何も起こらず…。

JavaScriptは授業で少しかじった程度なので、
このプログラムを見ただけでは全然何が書いてあるか分かりませんし、
とても失礼なのは承知しているのですが、
回答者様はこのプログラムをHTMLで実行されましたでしょうか?

もしそれでちゃんと実行されるのであれば、
私の書き方が悪いのか、
もしくは私が持っているパソコンの環境では実行されないものなんだと思いますが…。

すみませんが、
上記のプログラムを見直して頂くか、
何か別のプログラムを教えて頂けませんでしょうか?

補足日時:2010/07/07 00:16
    • good
    • 0

>開いた状態に保っておきたい



クッキーに保存しておきます。

この回答への補足

回答ありがとうございます。
そこまでは他の方の質問を見て分かっているんですが、
具体的にプログラムをどう書き変えればいいんですか?

補足日時:2010/07/05 19:37
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!