Как мне выяснить, что заставляет страницу временно отображать горизонтальную полосу прокрутки? - PullRequest
0 голосов
/ 21 июня 2011

Я смотрю на следующую страницу: -

http://www.gearzap.com/

В Google Chrome.

По какой-то причине во время загрузки страницы горизонтальная полоса прокрутки появляется примерно на полсекунды.

Это, очевидно, что-то, что ниже сгиба, которое вызывает это, но я не могу понять, что вызывает проблему

РЕДАКТИРОВАТЬ: - Видео этого происходит здесь: -

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

Ответы [ 2 ]

2 голосов
/ 21 июня 2011

Я быстро посмотрел (а на этой странице много 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, а не устанавливать его, выполнять вычисления и затем изменять его снова.Не уверен, почему это когда-либо было одушевленным.

0 голосов
/ 21 июня 2011

На самом деле это не показывает для меня.Ни в Chrome, ни в Firefox.Я использую Chrome 12.0.742 для Windows 7. Я проверил более 10 раз, но он никогда не показывает.

Может быть, это как-то связано с версией / настройками используемого браузера?

...