Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.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粘贴到顶部_Javascript_Jquery_Css_Html - Fatal编程技术网

Javascript 滚动过去后将Div粘贴到顶部

Javascript 滚动过去后将Div粘贴到顶部,javascript,jquery,css,html,Javascript,Jquery,Css,Html,现在,我可以在向下滚动320px后将div粘贴到顶部,但我想知道是否有其他方法可以实现这一点。下面是我的代码: jQuery(function($) { function fixDiv() { if ($(window).scrollTop() > 320) { $('#navwrap').css({ 'position': 'fixed', 'top': '0', 'width': '100%' }); }

现在,我可以在向下滚动
320px
后将
div
粘贴到顶部,但我想知道是否有其他方法可以实现这一点。下面是我的代码:

jQuery(function($) {
    function fixDiv() {
        if ($(window).scrollTop() > 320) { 
            $('#navwrap').css({ 'position': 'fixed', 'top': '0', 'width': '100%' }); 
        }
        else {
            $('#navwrap').css({ 'position': 'static', 'top': 'auto', 'width': '100%' });
        }
    }
    $(window).scroll(fixDiv);
    fix5iv();
});
它可以工作,但是上面的一些
div
并不总是相同的高度,所以我不能依赖
320px
。如果不使用
if($(window).scrollTop()>320)
,如何让它在用户滚动通过
div#navwrap
后在顶部淡入?

尝试使用
navwrap
元素的
offset().top
。这样,元素将从其在文档中的起始位置固定,而不管该位置在何处。例如:

function fixDiv() {
    var $div = $("#navwrap");
    if ($(window).scrollTop() > $div.data("top")) { 
        $div.css({'position': 'fixed', 'top': '0', 'width': '100%'}); 
    }
    else {
        $div.css({'position': 'static', 'top': 'auto', 'width': '100%'});
    }
}

$("#navwrap").data("top", $("#navwrap").offset().top); // set original position on load
$(window).scroll(fixDiv);