2016-07-15 3 views
-1

ディアーズ、メニューはIEのどのバージョンでも動作しません。どのように問題を解決できますか?以下は私のコード、CSSとJSのメニューです。メニューはどのバージョンの(IE)でも動作していません

これがメニューです:

<ul class="topnav"> 
    <li class="icon"> 
    <a href="javascript:void(0);" onclick="myFunction()">&#9776;</a> 
    </li> 
    <li><a href="#home">Home</a></li> 
    <li><a href="#news">News</a></li> 
    <li><a href="#contact">Contact</a></li> 
    <li><a href="#about">About</a></li> 
</ul> 

これは私のJSです:

<script> 
    /* Toggle between adding and removing the "responsive" class to topnav when the user clicks on the icon */ 
    function myFunction() { 
    document.getElementsByClassName("topnav")[0].classList.toggle("responsive"); 
    } 
</script> 

、これは私のCSSです:

ul.topnav { 
    list-style-type: none; 
    padding: 0; 
    overflow: hidden; 
    background-color: #333; 
} 


ul.topnav li {float: right;} 


ul.topnav li a { 
    display: inline-block; 
    color: #f2f2f2; 
    text-align: center; 
    padding: 14px 16px; 
    text-decoration: none; 
    transition: 0.3s; 
    font-size: 17px; 
} 

ul.topnav li a:hover {background-color: #000000;} 

ul.topnav li.icon {display: none;} 


@media screen and (max-width:680px) { 
    ul.topnav li:not(:first-child) {display: none;} 
    ul.topnav li.icon { 
     float: right; 
     display: inline-block; 
    } 
} 

@media screen and (max-width:680px) { 
    ul.topnav.responsive {position: relative;} 
    ul.topnav.responsive li.icon { 
     position: absolute; 
     right: 0; 
     top: 0; 
    } 
    ul.topnav.responsive li { 
     float: none; 
     display: inline; 
    } 
    ul.topnav.responsive li a { 
     display: block; 
     text-align: center; 
    } 
} 

コードがW3Schoolsのから取った:http://www.w3schools.com/howto/howto_js_topnav.asp

私はそれらにテキストを書きますが、彼らから応答はありません。

コードに何が問題なのですか。

+0

IEでは正確に「動作していません」とは何ですか? –

+0

がInternet Explorerで動作していません。 Safari、chrome、firefoxでのみ動作します。 –

+0

である可能性があります。 'classList'がサポートされていない可能性があります。コンソールのエラーをチェックしてください。 http://caniuse.com/#feat=classlist – charlietfl

答えて

0


編集:私はちょうどあなたが何をしていた見て、他のコメントを見て、私のエラーを実現classListはサポートされていないため、代わりにclassName += " .."を使用できます。

var div = document.createElement("div"); 
div.className += " imgWin"; // Add imgWin class to the div 
div.appendChild(img); 
content.appendChild(div); 

あなたはこのようなdivの下にあるすべてのあなたのリストのアイテムを取得し、最終的にあなたのdivにクラスを追加する場合は、それがうまくいけば、トリックを行う必要があります。

+0

このクラスの使い方は?私のコードで何を変更するのですか? –

+0

どうか私にコードを書いてもらえますか? @MarchingGazelle –

+0

@AbdulkarimGiraud私は変更して編集しました。サンプルコードです。次に、 'javascript'を使ってクラス間を切り替えるだけです – MarchingGazelle

関連する問題