2017-02-09 33 views
0

私のコードには修正方法がわからないという問題があるようです。私はこのことに非常に新しいので、私が何をしているのかほとんど分かりません。コードを実行するたびにこのエラーがポップアップします。青いボックスが消えるボタンをクリックすると作ろうとしています。ボタンをもう一度クリックすると、青いボックスが再び表示され、緑色のボックスが消えます。ここに私のコードだ:未知の型エラー:nullのプロパティ 'style'を読み取ることができません

<script type="text/javascript"> 
    function toggle_visibility(id1,id2){ 
    var e1 = document.getElementById(id1); 
    var e2 = document.getElementById(id2); 

    if (e1.style.visibility == 'hidden') { 
     e1.style.visibility = 'visible'; 
     e2.style.visibility = 'visible';} 
     else{ 
     e1.style.visibility = 'hidden'; 
     e2.style.visibility = 'hidden'; 
     } 
     } 
</script> 
<div class="square" id="bluebox" style="visibility:visible"></div><br> 
<div class="box" id="greenbox" style="visibility:visbible"></div><br> 
<button onclick=" toggle_visibility(greenbox,bluebox)">Pls Work</button> 

答えて

0

あなたは関数の引数に引用符を追加する必要があります。

<button onclick="toggle_visibility('greenbox','bluebox')">Pls Work</button> 

彼らは変数ではありません、彼らは文字列です。

0

両方の要素のid文字列として関数に渡す必要があります。

function toggle_visibility(id1, id2) { 
 
    var e1 = document.getElementById(id1); 
 
    var e2 = document.getElementById(id2); 
 

 
    if (e1.style.visibility == 'hidden') { 
 
     e1.style.visibility = 'visible'; 
 
     e2.style.visibility = 'visible'; 
 
    } else { 
 
     e1.style.visibility = 'hidden'; 
 
     e2.style.visibility = 'hidden'; 
 
    } 
 
    }
.square, .box { 
 
    height: 50px; 
 
    width: 50px; 
 
    visibility: hidden; 
 
} 
 

 
#greenbox { 
 
    background-color: green; 
 
} 
 

 
#bluebox { 
 
    background-color: blue; 
 
}
<div class="square" id="bluebox"></div> 
 
<br> 
 
<div class="box" id="greenbox"></div> 
 
<br> 
 
<button onclick="toggle_visibility('bluebox', 'greenbox')">Pls Work</button>

0

idは、HTMLから正しく渡されていないパラメータは、あなたがあなたのために働く必要があるコードの後に​​onclick="toggle_visibility('greenbox','bluebox')"

のように正確にIDを渡す必要があります。

function toggle_visibility(id1,id2){ 
 
    var e1 = document.getElementById(id1); 
 
    var e2 = document.getElementById(id2); 
 

 
    if (e1.style.visibility == 'hidden') { 
 
     e1.style.visibility = 'visible'; 
 
     e2.style.visibility = 'visible';} 
 
     else{ 
 
     e1.style.visibility = 'hidden'; 
 
     e2.style.visibility = 'hidden'; 
 
     } 
 
     }
<div class="square" id="bluebox" style="visibility:visible"></div><br> 
 
<div class="box" id="greenbox" style="visibility:visbible"></div><br> 
 
<button onclick="toggle_visibility('greenbox','bluebox')">Pls Work</button>

+0

ありがとうございました!!!よく働く! –

関連する問題