IE6とIE7だけJavaScriptが動かない?

このQ&Aのポイント
  • IE6とIE7のブラウザでJavaScriptが動かない問題が発生しています。
  • JavaScriptが動かない原因は、show1、show2、show3の関数にあります。
  • show1、show2、show3の関数の書き方が間違っているため、JavaScriptが動かない状態になっています。
回答を見る
  • ベストアンサー

IE6とIE7だけJavaScriptが動きません

IE6とIE7だけJavaScriptが動きません。 下記の書き方は間違っているのでしょうか? function show1(){ content1.style.display="block"; content2.style.display="none"; content3.style.display="none"; tab1.style.display="block"; tab2.style.display="none"; tab3.style.display="none"; } function show2(){ content1.style.display="none"; content2.style.display="block"; content3.style.display="none"; tab1.style.display="none"; tab2.style.display="block"; tab3.style.display="none"; } function show3(){ content1.style.display="none"; content2.style.display="none"; content3.style.display="block"; tab1.style.display="none"; tab2.style.display="none"; tab3.style.display="block"; } よろしくお願いします。

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

  • ベストアンサー
  • abacabu
  • ベストアンサー率37% (250/663)
回答No.3

No.2です。どういう感じの切り替え方かわからないですので分かりませんがこんなサイトはどうでしょうか?http://gxc.google.com/gwt/x?client=ms-kddi_blended-jp&wsc=tb&wsi=70f39ead226c01d9&u=http%3A%2F%2Farchiva.jp/web/javascript/tab-menu.html&ei=mVWRTdfmDc_jkAWhrZXqDw これなんですが、ご参考になれば幸いです。

a-----n
質問者

お礼

ありがとうございます。 上記サンプルのようなものに変更して対応しました。 IE6ってなにかと難しいですね・・・ お手数おかけしました。 助かりました。ありがとうございました。

その他の回答 (3)

  • yamada_g
  • ベストアンサー率68% (258/374)
回答No.4

HTMLも記載しないと、これだけで正しいかどうかは分かりません。 このコードだけで言えば別におかしくありません。 content1などのオブジェクトがちゃんと取得できているなら動くと思います。

  • abacabu
  • ベストアンサー率37% (250/663)
回答No.2

プログラム初心者です。回答ではないのですが、補足頂きたいのですが、まず質問者様はJavaScriptで何をしたいのか、次に改変したプログラムではなく元プログラムを添えて何をどうしたいがどこをいじれば良いかと質問された方が良い回答が得られる気がします。No.1さんの回答で解決したのならよいのですが…私は最近いじってないんでわからないですが、スクリプトになっていない事だけは確かです。私も以前独学でJavaScriptを使っていましたがその際は、複数のサイトを参考に(人によって記述が若干違うため)いじって良いところ、ダメな所、自分のサイトに反映させるための知識はいじっていると何となく分かってきます。何個かいじる内にコツも掴めますので頑張って下さい。

a-----n
質問者

補足

ご連絡ありがとうございます。 私がやりたいことはタブの切り替えで、表示する内容を変えたいです。 重なりあっている画像なので、画像も3種類あり、 それも同様に表示の切り替えを行いたいと思ってます。 説明不足で失礼しました・・

  • noris02
  • ベストアンサー率74% (56/75)
回答No.1

content1がなにを表してるのかにもよりますが、 name属性ならば document.getElementsByName("content1").style.display="block"; id属性ならば document.getElementById("content1").style.display="block"; と してみてください。

a-----n
質問者

補足

ご回答ありがとうございます。 idだったので、下記のように全て変更してみました。 document.getElementById("content1").style.display="block"; が、ダメでした。。。 他のブラウザまで動かなくなってしまいました。 <li onClick="show1();">あああ</li> 上記の書き方がダメなのでしょうか。。。?

関連するQ&A

  • firefoxだけ、javascriptが思うように動作しません。

    firefoxだけ、javascriptが思うように動作しません。 下記、html記述です。 <a href="javascript:void(0);" onclick="show1()">tab1</a> <a href="javascript:void(0);" onclick="show2()">tab2</a> <a href="javascript:void(0);" onclick="show3()">tab3</a> <div id="page1">page1</div> <div id="page2">page2</div> <div id="page3">page3</div> 下記、javascript記述です。 function show1(){ page1.style.display="block"; page2.style.display="none"; page3.style.display="none"; } function show2(){ page1.style.display="none"; page2.style.display="block"; page3.style.display="none"; } function show3(){ page1.style.display="none"; page2.style.display="none"; page3.style.display="block"; } tab1をクリックすると、page1のみ表示 tab2をクリックすると、page2のみ… という風に動作させたいです。 IE、opera、chromeでは動作しますが、 firefoxだけ全く動作しません。 どのように修正すれば動くようになるでしょうか? javascriptについては初心者なので、 基本的なところから間違っているのかもしれませんが、 ご回答よろしくお願いします。

  • firefox でjavascript が無効

    下記のようにjavascriptで場面の切り替えを行ったのですが、firefox 3.6で見ると切り替え表示されません。他にlightbox やjquery-1.4.4.min.js などを使用していますが、取り除いて試したところやはり無効です。IEでは正常に機能します。なにかよい方法はないでしょうか? <script> function show1(){ content1.style.display="block"; content2.style.display="none"; } function show2(){ content1.style.display="none"; content2.style.display="block"; } </script> <style> #content1 { display:none; } #content2 { display:none; } </style> <ul class="u2" id="menu2"> <li><span onclick="show1();"><img src="images/menu1.jpg" alt="" border="0" /></span></li> <li><span onclick="show2();"><img src="images/menu2.jpg" alt="" border="0" /></span></li> </ul> <div id="content1"> aaaaaaaaaaaaaaaaaaaaaaaaaaaaa</div>  <div id="content2"> bbbbbbbbbbbbbbbbbbbbbbbbbb</div>

  • javascriptでボックスの表示非表示

    javascriptでボックスにマウスオーバーすると、同じ位置に別のボックスを表示させたいと考えています。 以下のようにしてみましたが、ie9ではできたのですが、 ie6、ie7、ie8ではdiv1とdiv2が横に並んでしまいました。 何か解決方法があれば教えてください。 よろしくお願いいたします。 <script type="text/javascript"> window.onload = function() { div1 = document.getElementById("div1"); div2 = document.getElementById("div2"); div1.onmouseover = function() { div1.style.display = "none"; div2.style.display = "block"; }; div2.onmouseout = function() { div1.style.display = "block"; div2.style.display = "none"; }; div1.style.display = "block"; div2.style.display = "none"; }; </script> <div id="div1" class="box01"> <div id="pic"><img src="image01.gif"></div> <div id="txt">てきすとてきすと</div> </div> <div id="div2" class="box02"> <div id="pic"><img src="image02.gif"></div> <div id="txt">てきすとてきすと</div> </div>

  • javascriptがIEで機能しない

    ヘッダー内 <script language="JavaScript"> <!-- function view_ctrl() { selectvalue = document.form1.select1.options[form1.select1.selectedIndex].value; if(document.getElementById) { document.getElementById("block1").style.display = "none"; if(selectvalue=="選択1"){ document.getElementById("block1").style.display = "block" } } } // --> </script> ボディー内 <form name="form1"> <select name="select1" onchange="view_ctrl()"> <option value="">選択してください</option> <option>選択1</option> <option>選択2</option> </select> </form> <table><tr><td><div id="block1" style="display:block">表示</div></td></tr></table> Firefox3.6ではうまく選択肢によって表示非表示にできたのですが、IE8では選択1を選択しても非表示のままです どこを修正してやればいいでしょうか? ぜひ御指南ください。

  • JavaScriptについて

    現在、ホームページにてJavascriptのツリーメニューをつくっています。 ここでメニューA・B・Cがあるとします。 メニューAが開いているときにメニューBを押したらメニューAを閉じるようにしたいのです、どうすればいいか分かりません。 現在の状態はこれです。 <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>

  • javascriptでツリー表示

    javascriptでツリー表示をしたいのですが、全くの素人で、一番やりやすそうなソースを見つけ、『“tree1”を変更して使用』と説明にはあったのですが、実際には『JavaScript:ok('tree1');"』とアドレスに表示されるだけで、目的のツリー表示をしてくれません。 どうしたら、良いでしょうか? <SCRIPT language="JavaScript"> <!-- function ok(id){if(document.all(id).style.display == "none"){document.all(id).style.display="block";}else{document.all(id).style.display="none";}} //--> </SCRIPT> <B><A HREF="JavaScript:ok('tree1');">■メニュー</A></B><BR> <DIV ID="tree1" style="display:none;">  ┣ あああ<BR>  ┣ いいい<BR>  ┣ ううう<BR>  ┣ えええ<BR>  ┗ おおお<BR> </DIV>

  • Javascriptを短くしたい

    初歩的なことですみません。 Javascriptで表示/非表示を切り替えるものを作ろうと思うのですが、 以下のサンプル文のような形では、項目数が増えるとその分だけ どんどんJavascriptも長くなっていってしまいます。 Javascript文を簡潔にするには、どのように記述すればよいのでしょうか。 よろしくお願いします。 <script type="text/javascript"> <!-- function Hyo1(num) { if (num == 0) { document.getElementById("cont1").style.display="block"; } else { document.getElementById("cont1").style.display="none"; } } function Hyo2(num) { if (num == 0) { document.getElementById("cont2").style.display="block"; } else { document.getElementById("cont2").style.display="none"; } } // --> </script> <div id="cont1">ああああああ</div> <form> <input type="button" value="表示" onclick="Hyo1(0)"> <input type="button" value="非表示" onclick="Hyo1(1)"> </form> <form> <div id="cont2">いいいいいい</div> <input type="button" value="表示" onclick="Hyo2(0)"> <input type="button" value="非表示" onclick="Hyo2(1)"> </form>

  • javascriptで文章を一文字ずつ表示する。

    javascriptで文章を一文字ずつ表示する。 表示されている文章をクリックすると、その文章は非表示になり次の文章に切り替わります。 displayがnoneからblockになるときに一文字ずつ表示するにはどうすれば良いでしょうか? <script type="text/javascript"> var cnt = 0; function display(){ document.getElementById("s0"+cnt++).style.display = "none"; document.getElementById("s0"+cnt).style.display = "block"; } </script> <style> a{display:none;} #s00{display:block;} </style> <a id="s00" onclick="display();">00000</a> <a id="s01" onclick="display();">11111</a> <a id="s02" onclick="display();">22222</a> <a id="s03" onclick="display();">33333</a> <a id="s04" onclick="display();">44444</a>   ・   ・ <a id="s90" onclick="display();">00000</a>

  • javascript外部ファイル化の複数指定の質問です。

    javascript外部ファイル化の複数指定の質問です。 一つ目 ================================= try { document.execCommand('BackgroundImageCache', false, true); } catch(e) {} 二つ目 ================================= window.onload = function() { document.getElementById("home").onmouseover= function() {document.getElementById("sub_home").style.display="block"}; document.getElementById("home").onmouseout= function() {document.getElementById("sub_home").style.display="none"}; document.getElementById("sub_home").onmouseover= function() {document.getElementById("sub_home").style.display="block"}; document.getElementById("sub_home").onmouseout= function() {document.getElementById("sub_home").style.display="none"}; } この上記の2つのjavascriptを別々に外部ファイル化して、head内に読み込んでおります。 両方とも動作させたいのですが、下のwindow.onload のjavascriptしか動作しません。 両方、動作させるには、どのように記述すればよいのでしょうか? どなたか教えていただけませんか? よろしくお願い致しますm(_ _)m

  • 一部のjavascriptがfirefoxで効かない

    ホームページのコーディングをしている者ですが、一部のjavascriptがfirefoxで効きません。 クリックした際にサブメニューを表示させていのですが、firefoxだとクリックしてもサブメニューが表示されません。 (IE、safariは正常に表示されます) どなたか下記ソースでの間違えをご教授いただけますでしょうか。 よろしくお願いします。 【jsファイルの記述】 function dispChange(id) { if(id.style.display=="none"){ id.style.display="block"; } else{ id.style.display="none"; } } 【htmlファイルの記述】 <div id="sublist"><a href="JavaScript:dispChange(movieSub)">&gt;&gt;test</a> <div id="movieSub" STYLE="display:none"> <div class="SubSub">├<a href="#">test</a></div> <div class="SubSub">├<a href="#">test</a></div> <div class="SubSub">└<a href="#">test</a></div> </div> </div>

専門家に質問してみよう