Я только что столкнулся со странной проблемой на ie11. Я пытаюсь создать фиксированный элемент, который будет прокручиваться вместе с прокруткой окна.
$(window).scroll(function() {
var scrollY=$(this).scrollTop();
$('.myelem').css('transform', 'translateY(' + scrollY + 'px)');
});
Я также создал скрипт этого:
https://jsfiddle.net/fyngwnz6/1/
(Это для воспроизведения проблемы, я знаю, что этот конкретный случай можно решить с помощью фиксированного элемента)
Код работает безупречно, без проблем с производительностью во всех браузерах, кроме ie11. При использовании полосы прокрутки элемент myelem прокручивается с небольшим дрожанием, которое становится более очевидным при использовании колесика мыши. Однако, где вы действительно можете увидеть проблему, так это при использовании кнопок полосы прокрутки. Кажется, что рендеринг прокрутки должен завершиться, чтобы js мог отслеживать прокрутку.
Я видел, что были проблемы с ie11 и плавной прокруткой, но здесь это не так. Есть ли какое-то решение для этого? Я что-то упускаю?
редактировать: хотя у меня есть ответ, который, кажется, решает проблему, на самом деле то, что я ищу, - это решение для элементов, к которым применяется overflow: hidden, и прокрутка берется из переполненного элемента, а не прокрутки тела; аналогичный сценарий можно найти здесь:
http://www.fixedheadertable.com/
Если в примере включен «фиксированный столбец», то нажатие на полосы прокрутки показывает рывки в движении.