我有一个 Rails 应用程序。有一个视图包含:
<nav class="navigation" id="navigation">
<ul>
<li><a href="#info">Info</a></li>
<li><a href="#address">Address</a></li>
<li><a href="#menu">Menu</a></li>
<li><a href="#">Website</a></li>
</ul>
</nav>
我的 app/assets/javascript 文件夹中的 custom.js 文件包含:
var mediaTop = $('div#navigation').offset();
var media = $('div#navigation');
console.log(mediaTop);
$(document).scroll( function() {
var scrollTop = $(document).scrollTop();
//fix/unfix as necessary
if (mediaTop < scrollTop) {
$(media).addClass('fixed');
}
else {
$(media).removeClass('fixed');
}
});
但是,控制台行打印出未定义。当我向下滚动并且它的顶部边缘碰到页面顶部时,jQuery 代码应该将导航栏锁定到页面顶部。