【问题标题】:How do I find out what's causing a page to temporarily render a horizontal scrollbar?如何找出导致页面临时呈现水平滚动条的原因?
【发布时间】:2026-01-23 20:25:01
【问题描述】:

我正在查看以下页面:-

http://www.gearzap.com/

在 Google 的 Chrome 中。

在页面加载期间,出于某种原因,水平滚动条会出现大约半秒。

这显然是导致此问题的原因,但我似乎无法找出导致问题的原因

编辑:- 这里发生的视频:-

http://files.sourceguru.net/scrollbars.ogv

【问题讨论】:

标签: html google-chrome webkit render


【解决方案1】:

实际上它并没有显示给我。不在 Chrome 和 Firefox 中。我在 windows 7 上使用 Chrome 12.0.742。我检查了 10 多次,但它从未显示。

可能与所用浏览器的版本/设置有关?

【讨论】:

  • 不 - 设法在多个版本的 chrome 上重现这一点。
  • 你试过用更窄的浏览器宽度吗?我假设如果您运行的宽屏足够宽以至于您可能看不到水平滚动条......(虽然我目前没有 chrome 和高分辨率显示器来测试。:)
【解决方案2】:

我快速浏览了一下(那个页面上有很多 js),navigation.js 文件向我跳了出来。我设置了调试器,发现这个循环8次迭代后:

$j('#navigation .submenu').each(function() {
    var obj = $j(this);
    var cols, w, l, offset;

    cols = obj.find('ul').length;

    obj.css('width', (cols * 200 + 16) + 'px');

    w = obj.outerWidth();
    l = obj.offset().left;
    offset = w + l;

    if(offset > max_w) {
        obj.animate({
            'margin-left' : '-=' + (offset - max_w) + 'px'
        });
    }
});

出现滚动条。

编辑:您也许可以将obj.animate 变成obj.css。如果这不起作用,您可能需要在设置 css 之前进行计算,而不是设置它,进行计算然后再次更改它。不知道为什么一开始就是动画。

【讨论】:

  • 动画函数...该死的:D
  • 我同意...不知道为什么我自己也有一个动画功能...!
最近更新 更多