0

我正在使用为响应式登录页面.resize()重新计算一些<div>s 和元素。但它似乎不准确,因为当我非常快速地调整窗口大小时,每个元素都没有正确定位。如果我正在缓慢而平静地调整大小,那么一切都很好。似乎.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) {

    }
});

提前致谢!

4

1 回答 1

0

尝试使用超时稍微限制它,看看它是更好还是最差:

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

    });
}());
于 2013-07-03T11:09:11.247 回答