ページの上部から75px程度下に最初に存在するナビゲーションバーのあるWebページがあります。ナビゲーションバーがブラウザウィンドウの上部に当たったときに、ナビゲーションバーをブラウザウィンドウの上部に固定するスクリプトを作成しました。これはサファリ/クロームでは正常に機能しますが、他のブラウザでは効果がトリガーされません。バーが固定モードに切り替わることはありません。私はhtml/css / javascriptを初めて使用するので、問題は単純かもしれません。コードは次のとおりです。
<head>
<link rel="stylesheet" href="foo_css.css" />
<script type="text/javascript">
function window_onload() {
window.addEventListener("scroll",navbar_reset_top,false);
}
var navbar_top=75;
function navbar_reset_top() {
var scrollTop=document.documentElement.scrollTop||document.body.scrollTop;
if(scrollTop>navbar_top&&nav.className==="navbar_absolute") {
document.getElementById("nav").className="navbar_fixed";
}
else if(scrollTop<navbar_top&&nav.className==="navbar_fixed") {
document.getElementById("nav").className="navbar_absolute";
}
}
</script>
</head>
<body onload="javascript:window_onload();">
<div id="nav" class="navbar_absolute">
<ul>
そして、これは私が思うすべての関連するCSSです:
#nav.navbar_fixed {
position:fixed;
top:0px;
}
#nav.navbar_absolute {
position:absolute;
top:74px;
}