jQuery resize()工作不准确



我正在使用.resize()为响应登录页重新计算一些<div>和元素。但它似乎不准确,因为当我快速调整窗口大小时,每个元素的位置都不正确。如果我调整大小缓慢而平静,那么一切都很好。.resize()的发射速度似乎不够快,以至于错过了一些计算。

我的代码没有什么特别之处:

var faktor = 1014/515;
$(window).resize(function() {   
    if($(window).width() <= 1015 && $(window).width() >= 800) { 
        var w = $(window).width();
        var h = w/faktor;
        $('#modul').css({'width': w, 'height': h});
        $('#footer').css('width', w);
        $('#headerlinks').css('width', $(window).width()-507);
    }
    if($(window).width() <= 801) {
    }
});

提前感谢!

试着用超时来限制一下,看看它是好是坏:

(function () {
    var timeoutResize;
    $(window).resize(function () {
        clearTimeout(timeoutResize);
        timeoutResize = setTimeout(function () {
            if ($(window).width() <= 1015 && $(window).width() >= 800) {
                var w = $(window).width();
                var h = w / faktor;
                $('#modul').css({
                    'width': w,
                    'height': h
                });
                $('#footer').css('width', w);
                $('#headerlinks').css('width', $(window).width() - 507);
            }
            if ($(window).width() <= 801) {
            }
        }, 50);
    });
}());

最新更新