Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 到达新div时停止粘性div_Javascript_Jquery_Html_Css_Sticky Windows - Fatal编程技术网

Javascript 到达新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,它就会粘滞,现在我希望在它到达一个新div时停止粘滞

<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);
});