У меня есть 2 элемента div на фиксированной позиции на моей странице, идея заключается в том, что их содержимое прокручивается при прокрутке страницы.Однако при использовании Firefox, когда на странице много других объектов DOM, движение (особенно вертикальное) очень резкое.Производительность в Chrome и IE7 / 8 хорошая.Код показан ниже -
Если кто-нибудь может указать, как это можно оптимизировать или оптимизировать, я был бы очень признателен!
Я связываю свое событие прокрутки окна следующим образом;
$(document).ready(function()
{
$(window).scroll(scrollMover);
});
Где функция прокрутки определяется как
function scrollMover()
{
var offSets = getScrollXY();
document.getElementByID('divA').scrollLeft = offSets[0];
document.getElementByID('divB').scrollTop = offSets[1];
}
и
function getScrollXY()
{
var XOffset = 0, YOffset = 0;
if (typeof (window.pageYOffset) == 'number')
{
//Netscape compliant
YOffset = window.pageYOffset;
XOffset = window.pageXOffset;
} else if (document.body && (document.body.scrollLeft || document.body.scrollTop))
{
//DOM compliant
YOffset = document.body.scrollTop;
XOffset = document.body.scrollLeft;
} else if (document.documentElement && (document.documentElement.scrollLeft || document.documentElement.scrollTop))
{
//IE6 standards compliant mode
YOffset = document.documentElement.scrollTop;
XOffset = document.documentElement.scrollLeft;
}
return [XOffset, YOffset];
}
Вот пример Живой пример к сожалению это немного бесполезно, так как на странице нет полос прокрутки!;)
Редактировать: вот Обновленный пример , дополненный полосами прокрутки!любезно предоставлено фуджи .