【问题标题】:Screen Flicker and bad resizing on window Resize屏幕闪烁和窗口大小调整错误 Resize
【发布时间】:2012-02-26 06:09:08
【问题描述】:

请参阅此 jsFiddle 以供参考:(jsFiddle) Div Resizing [要查看我遇到的问题,请调整 结果 窗格的大小]

这是我的这个例子的 jQuery 代码:

function resizeRightLeftDivs() {
    $('div.left, div.right').css('height',
                                 $('div.container').outerHeight(false) -
                                 $('div.header').outerHeight(false));
    $('div.left').css('width',
                      $('div.container').outerWidth(false) -
                      $('div.right').outerWidth(false));
}

$(document).ready(function() {
    resizeRightLeftDivs();

    $(window).resize(function() {
        resizeRightLeftDivs();
    });
});

从小提琴和我的代码中可以看出,我在这里尝试做的是在调整浏览器窗口大小时适当地调整 <div /> 元素的大小。

但由于某些原因,在 FireFox 中存在极端闪烁。更不用说左 div 有一半的时间没有正确调整大小(左右 div 之间存在间隙)。

在 IE 中它太大了一个像素,divs 不能并排放置。

如何防止这种闪烁和间隙 (FireFox)?当浏览器窗口大小发生变化时,这甚至是调整元素大小的最佳方式吗?

【问题讨论】:

    标签: jquery


    【解决方案1】:

    我知道是什么导致了这个问题。事实证明,差距来自滚动条出现然后消失。解决方案是隐藏滚动条。

    解决方案

    body {
        overflow: hidden;
    }
    

    【讨论】:

    • 非常感谢您发布此后续答案。在搜索了有关 Window、Document、width、clientWidth、outerWidth 等各种组合的帖子之后。这个简单的技术也解决了我的滚动条闪烁问题。
    猜你喜欢
    • 1970-01-01
    • 2016-03-19
    • 2015-08-29
    • 2014-12-29
    • 1970-01-01
    • 2018-07-27
    • 2022-10-13
    • 1970-01-01
    • 2019-01-09
    相关资源
    最近更新 更多