1

私のサイトがIE で正しく動作しないことに気付きました。Chrome と Firefox で完全に動作します。IE の問題は、javascript の影響を受ける要素が表示されないことです。Javascript を有効にしているので、他のブラウザとどう違うのかわかりません。

関数を使用しているときですtoggle_visibility

function toggle_visibility_1(id) {
    var e = document.getElementById(id);
    if(e.style.display = 'inline') 
    e.style.display = 'none';
}
function toggle_visibility_2(id) {
    var e = document.getElementById(id);
    if(e.style.display = 'none') 
    e.style.display = 'inline';
}

ウェブサイトはここにあります: http://www.dillonbrannick.com/ もちろん、IE でない限り目立った問題はありません。

したがって、必要に応じてここに表示されるように、問題の動作を何らかの形で修正した ようです: http://testerwebby.tumblr.com/私のウェブサイト、すべての助けをありがとう.

4

1 に答える 1

8

比較ではなく、割り当てを実行しています。

// Sets the value of display
if ( e.style.display = 'none' )

==(値) または===(値と型) を使用して同等性をテストする必要があります。

// Tests the value of display
if ( e.style.display == "none" )

inlineとを切り替えるだけの場合はnone、次のようにするとより効果的です。

function toggle_visibility(id) {
    var e = document.getElementById(id);
    e.style.display = (e.style.display === "none") ? "inline" : "none" ;
}

デモ: http://jsbin.com/uyawop/edit#javascript,html

于 2012-05-10T07:15:18.920 に答える