Firefox 3.6 Javascript пользовательская производительность полосы прокрутки - PullRequest
0 голосов
/ 20 октября 2010

Я написал собственный класс полосы прокрутки в javascript для использования в структуре "freezepane". Производительность в большинстве браузеров (включая IE6 !!!) хорошая. Но в Firefox 3.6 (бета 4 в порядке) это очень резко. Когда полоса прокрутки перемещается, событие onmousemove вычисляет позицию, а затем отправляет новую позицию обратному вызову, который устанавливает style.left (или top) из 2 элементов, которые больше, чем их родительские контейнеры DIV, которые скрывают переполненное содержимое. Основное содержание freezepane - это абсолютно позиционированный DIV, охватывающий большую и сложную структуру таблиц (для отображения рыночных цен) - я сузил его до повторяющейся установки style.left (или top) как узкого места производительности в FF .. есть ли способ улучшить это? Я действительно не понимаю, как IE6 превосходит FF на этом!

Заранее спасибо Dazz

Ответы [ 2 ]

0 голосов
/ 22 октября 2010

Использование собственных полос прокрутки работает, не знал, что что-либо с прокруткой с прокруткой генерирует событие onscroll, к которому вы можете подключиться, чтобы установить для scrollLeft других контейнеров то же значение, обеспечивающее эффект панели замораживания.

0 голосов
/ 20 октября 2010

Я бы посоветовал не использовать JavaScript для выполнения прокрутки, а вместо этого использовать обычную скрытую полосу прокрутки.

См .: Пользовательская визуализация полосы прокрутки с использованием HTML / CSS / JavaScript

Вкратце: используйте overflow-y: scroll;, чтобы добавить полосу прокрутки к div, и скройте полосу прокрутки за другим div с помощью overflow: hidden;.

Нет JavaScript, что обеспечивает собственную производительность и собственное поведение..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...