Javascript 到达新div时停止粘性div
我有一个粘滞的盒子,一旦我们滚动过一个div,它就会粘滞,现在我希望在它到达一个新div时停止粘滞Javascript 到达新div时停止粘性div,javascript,jquery,html,css,sticky-windows,Javascript,Jquery,Html,Css,Sticky Windows,我有一个粘滞的盒子,一旦我们滚动过一个div,它就会粘滞,现在我希望在它到达一个新div时停止粘滞 <div id="sticky-anchor"></div> <div id="sticky"> box </div> <div> content that box scrolls on top </div> <div id
<div id="sticky-anchor"></div>
<div id="sticky">
box
</div>
<div>
content that box scrolls on top
</div>
<div id="stop-anchor"></div>
<div>
other content that I do not with to have the sticky area in
</div>
函数粘性_重定位(){
var window_top=$(window.scrollTop();
var div_top=$('#粘性锚点').offset().top;
如果(窗口顶部>分区顶部){
$('#sticky').addClass('stick');
}
否则{
$('#sticky')。移除类('stick');
}
}
$(函数(){
$(窗口)。滚动(粘性重新定位);
粘性_重新定位();
});
我希望这是清楚的,非常感谢。您必须稍微调整javascript代码,以检查何时到达
锚定停止点
div:
function sticky_relocate() {
var window_top = $(window).scrollTop();
var div_top = $('#sticky-anchor').offset().top;
var stop_top = $('#stop-anchor').offset().top;
if (window_top > div_top && window_top < stop_top) {
$('#sticky').addClass('stick');
}
else {
$('#sticky').removeClass('stick');
}
}
$(document).ready(function () {
$(window).scroll(sticky_relocate);
});
函数粘性_重定位(){
var window_top=$(window.scrollTop();
var div_top=$('#粘性锚点').offset().top;
var stop_top=$('#stop anchor').offset().top;
如果(窗口顶部>分区顶部和窗口顶部<停止顶部){
$('#sticky').addClass('stick');
}
否则{
$('#sticky')。移除类('stick');
}
}
$(文档).ready(函数(){
$(窗口)。滚动(粘性重新定位);
});
这应该能奏效
function sticky_relocate() {
var window_top = $(window).scrollTop();
var div_top = $('#sticky-anchor').offset().top;
var stop_top = $('#stop-anchor').offset().top;
if (window_top > div_top && window_top < stop_top) {
$('#sticky').addClass('stick');
}
else {
$('#sticky').removeClass('stick');
}
}
$(document).ready(function () {
$(window).scroll(sticky_relocate);
});