Javascript 添加额外的top.offset()
我想知道如何将额外的“top”.offset()添加到此div 地图棒 我认为这是一个开始的位置??我原以为我可以在CSS中更改它,但这只是破坏了div在某个高度取消粘滞的功能 我尝试在CSS中创建顶级px'!div上的重要信息。这就是打破if/else语句的原因,因为它弄乱了div的实际顶部,脚本没有意识到它看起来是什么样子Javascript 添加额外的top.offset(),javascript,jquery,sticky,Javascript,Jquery,Sticky,我想知道如何将额外的“top”.offset()添加到此div 地图棒 我认为这是一个开始的位置??我原以为我可以在CSS中更改它,但这只是破坏了div在某个高度取消粘滞的功能 我尝试在CSS中创建顶级px'!div上的重要信息。这就是打破if/else语句的原因,因为它弄乱了div的实际顶部,脚本没有意识到它看起来是什么样子 var navWrap = $('#navWrap'), nav = $('#mapstick'), startPosition = navWrap.of
var navWrap = $('#navWrap'),
nav = $('#mapstick'),
startPosition = navWrap.offset().top,
stopPosition = $('#stopHere').offset().top - nav.outerHeight();
$(document).scroll(function () {
//stick nav to top of page
var y = $(this).scrollTop()
if (y > startPosition) {
nav.addClass('sticky');
if (y > stopPosition) {
nav.css('top', stopPosition - y);
} else {
nav.css('top', 0);
}
} else {
nav.removeClass('sticky');
}
});
我只需要一个额外的70像素的div顶部,以便它可以完全可见
我也研究过如何使用它
.offset({ top: 70 });
我想我用错了,因为这把事情搞砸了。结果我可以把另一个类修改成一个child div,以达到我想要的效果。所以我刚刚在if语句中添加了一个额外的'addClass',它似乎完成了这个任务 这就是我现在的剧本
var navWrap = $('#navWrap'),
nav = $('#mapstick'),
maptop = $('#map')
startPosition = navWrap.offset().top ,
stopPosition = $('#stopHere').offset().top - nav.outerHeight();
$(document).scroll(function () {
//stick nav to top of page
var y = $(this).scrollTop()
if (y > startPosition) {
nav.addClass('sticky'),
maptop.addClass('maptop');
if (y > stopPosition) {
nav.css('top', stopPosition - y);
} else {
nav.css('top', 0);
}
} else {
nav.removeClass('sticky'),
maptop.addClass('maptop');
}
});
我已将“maptop”添加到正在工作的if语句中。我不知道这是否是最好的方法,但它是有效的,我很好,哈哈