2017-07-28 8 views
-2

速く、おそらくあなたにとって解決しやすい問題です。なぜこれは動作しませんか? onclick属性を変更する

function openNav() { 
    document.getElementById("myNav").style.visibility = "visible"; 
    document.getElementById("myNav").style.opacity = "1"; 
    document.getElementById("nav-icon3").attribute("onclick","closeNav()"); 
} 

この機能は、視認性と不透明度は問題なく機能しますが、オンクリック機能の変更は機能しません。何か案は? Page:http://test.advermedia.pl/

+0

は、あなたのコンソールにエラーを示していますか? –

+0

ああk .... setAttributeを追加するのを忘れてしまった:D私の問題は申し訳ありません.haha –

+0

Adbur私はあなたのためにすべてのHTMLタグとCSSのいくつかを見ることができるページを投稿しました。これはあなたが必要としているjsです...私のサイトを宣伝していない、私はちょうど学んでいます... –

答えて

0

この属性を設定する必要があります。以下で試してみてください:

document.getElementById("nav-icon3").setAttribute("onclick", "closeNav()"); 
1

まず、それはsetAttribute()、ないattribute()です。第二に、それは、イベント属性を使用するときには、実行時にそれらを動的に変更するのではなく、とにかく本当に悪い考えです。代わりに、単一の控えめなイベントハンドラを使用します。

<div id="nav-icon3">Toggle nav</div> 
document.getElementById("nav-icon3").addEventListener('click', function() { 
    var nav = document.getElementById("myNav"); 
    nav.style.visibility = nav.style.visibility == 'visible' ? 'hidden' : 'visible'; 
    nav.style.opacity = nav.style.opacity == '1' ? '0' : '1'; 
}); 

または代わりに、あなたはjQueryのをタグ付けしましたとおり

$('#nav-icon3').click(function() { 
    $('#myNav').toggle(); 
}); 
関連する問題