Я пытаюсь реализовать синхронизированную прокрутку для двух DIV
со следующим кодом.Синхронизированная прокрутка с помощью jQuery?
$(document).ready(function() {
$("#div1").scroll(function() {
$("#div2").scrollTop($("#div1").scrollTop());
});
$("#div2").scroll(function() {
$("#div1").scrollTop($("#div2").scrollTop());
});
});
#div1
и #div2
оказывает тот же самый контент, но разные размеры, скажем
#div1 {
height : 800px;
width: 600px;
}
#div1 {
height : 400px;
width: 200px;
}
С помощью этого кода я столкнулся два вопроса.
1) Прокрутка не очень хорошо синхронизирована, так как divs имеют разные размеры. Я знаю, это потому, что я непосредственно устанавливаю значение scrollTop
. Мне нужно найти процент прокрученного содержимого и рассчитать соответствующее значение scrollTop
для другого div
. Я не уверен, как найти фактическую высоту и текущую позицию прокрутки.
2) Этот вопрос встречается только в firefox
. В firefox прокрутка не является гладкой, как в других браузерах. Я думаю, это потому, что приведенный выше код создает бесконечный цикл событий прокрутки. Я не уверен, почему это происходит только с firefox. Есть ли способ найти источник события прокрутки, чтобы я мог решить эту проблему.
Любая помощь была бы принята с благодарностью.
несколько аналогичный вопрос и мой ответ: http://stackoverflow.com/a/15344759/2000060 – darshanags