所以我看到很多答案要从div
改变position: absolute
;到position: fixed
;当它击中页面上的300px
之类的特定点时;但是,我想知道如果不是像300px
这样的特定点,你可以在达到实际的div
时修复它吗?由于我的页面始终以100%
高度/宽度启动而我的唠叨位于底部,因此它将始终在变化。这是我的代码。
nav {
background:rgba(0,0,0,0.5);
position:absolute;
bottom:0;
width:100%;
text-align:center;
z-index:9999;
margin:0;
padding:25px 0;
}
jQuery(function($) {
function fixDiv() {
var $cache = $('#nav');
if ($(window).scrollTop() > 300) {
$cache.css({'position': 'fixed'});
}
else {
$cache.css({'position': 'absolute'});
}
}
$(window).scroll(fixDiv);
fixDiv();
});
我只是希望300
为#nav
所以当它到达时,它会坚持。
答案 0 :(得分:4)
看看.offset()
。
因此,如果$('#nav').offset().top
等于$(window).scrollTop()
,则您的元素应位于窗口的顶部。
这是一个小提琴:http://jsfiddle.net/vj5wm0uj/1/