2016-04-17 11 views
0

ユーザーがスクロールしたときにフェードインするナビゲーションバーを作成しようとしています。私は数多くのスクリプトを実行しようとしたため、ユーザーがスクロールしたときに何かを行うようにしようとしているだけで、動作していません。スクロールの目に見えないdiv

私はHTML文書にこのようなスクリプトを参照しています:

<body onload-src="nav.js"> 

そして、これが私のスクリプトです:

function nav() { 
    if (window.pageYOffset > 500) { 
     document.getElementById("scrollnav").style.visibility="invisible"; 
    } 
    else { 
     document.getElementById("scrollnav").style.visibility="visible"; 
    } 
    } 

すべてのヘルプは大歓迎です!私はたくさんの人がこのような質問をしていることを知っていますが、ここで間違っていることを本当に理解したいと思います。

答えて

1

invisibleは、visibilityの有効な値ではありません。あなたはおそらく欲しい

hiddenです:

document.getElementById("scrollnav").style.visibility="hidden"; 

Here is a reference

styleプロパティにアクセスする前に、要素が実際に存在することも確認する必要があります。重要ではないように見えるかもしれませんが、近い将来コードを使用するつもりなら、ある時点でエラーに遭遇する可能性が最も高くなります。

function nav() { 
    var elem = document.getElementById("scrollnav"); 
    if (! elem) { 
     console.warn("#scrollnav was not found on the page"); 
     return; 
    } 
    if (window.pageYOffset > 500) { 
     elem.style.visibility="invisible"; 
    } else { 
     elem.style.visibility="visible"; 
    } 
} 
+0

ありがとうございます!それはまだ動作していないようです:P私はJavaとすべてを受け入れるNeocitiesでホスティングしていますが、私は他に何を試していいのかわかりません。 – Nienaber

関連する問題