添加window.resize函数以使浏览器上的脚本重置调整大小

时间:2015-07-22 02:10:28

标签: javascript jquery html

这可能很难解释,但是说我的浏览器尺寸很小,如图1所示。底部文本位于应该的位置,当我向下滚动脚本激活时。

它应该做什么(粘性div到顶部):https://jsfiddle.net/j4f53rds/3/

我现在得到了什么(我尝试添加以下代码)

$(window).resize(function() {
$("#nav_color").data("top", $("#nav_color").offset().top); 
fixDiv(); 
});

https://jsfiddle.net/j4f53rds/2/

这是原始代码:

function fixDiv() {
    var $div = $("#nav_color");
    var top = $div.data("top");
    if ($(window).scrollTop() > top) {
        $('#nav_color').css({'position': 'fixed', 'top': '0px'}); 
    }
    else {
        $('#nav_color').css({'position': 'absolute', 'top' : top + 'px'});
    }
}

$("#nav_color").data("top", $("#nav_color").offset().top); 
$(window).scroll(fixDiv);

当用户向下滚动时,脚本会使底部的文本固定在html的顶部。现在问题来了。触发后,如果我调整浏览器大小,请将其设为全屏,如图2所示,然后向上滚动。文本没有重新定位到它将是新位置,它重置回较小的浏览器中的原始位置。当用户向上滚动时,如何让脚本考虑新的浏览器大小?

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:0)

我认为你可以这样做:

fiddle

#nav {
    position: absolute;
    width: 100%;
    bottom: 0px;
    border: solid 1px;
    height: 160px;
}