javascript – 滚动后将Div粘贴到顶部

前端之家收集整理的这篇文章主要介绍了javascript – 滚动后将Div粘贴到顶部前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
现在,我可以把div放在顶端,然后滚动320px,但是我想知道是否有另一种方式来实现.下面我有我的代码
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().顶部.这样,元素将从文档中的起始位置修正,而不管它在哪里.例如:
function fixDiv() {
    var $div = $("#navwrap");
    if ($(window).scrollTop() > $div.data("top")) { 
        $div.css({'position': 'fixed','width': '100%'}); 
    }
    else {
        $div.css({'position': 'static','width': '100%'});
    }
}

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

Example fiddle

猜你在找的JavaScript相关文章