2015-02-02 4 views
5

Я создаю меню слайдов.Невозможно прокручивать внутри div после применения -webkit-transform в Safari

Меню длинное, и мне нужно прокручивать его внутри, поэтому я установил overflow-y: прокрутите его.

Я использую -webkit-transform (и варианты в других браузерах) в качестве свойства перехода.

Теперь я не могу прокручивать внутри div, используя колесо прокрутки, когда поверх div будет прокручиваться вся страница.

Если я изменяю поведение меню и перехожу к правильному свойству (настройка меню справа: -320px и анимирование его вправо: 0), прокрутка работает.

Эта ошибка происходит только в Safari, она отлично работает в Chrome и других браузерах. Также работает на iOS.

Кто-нибудь знает обходное решение? Кто-нибудь испытал этот вопрос раньше? Я не могу найти никакой информации об этом. Спасибо.

+2

После этого нескольких исследований, я обнаружил, что Safari считает ограничивающий параллелепипед DIV (в, чтобы зарегистрировать прокрутки), чтобы быть позицией div до перехода. Другими словами, если вы наложили указатель мыши на место перед переводом и используете колесо прокрутки, вы сможете прокручивать внутри div, даже если его больше нет. Мне еще нужно найти обходное решение, хотя ... –

+0

У меня такая же проблема. Вы нашли решение? –

ответ

12

У меня была та же проблема с той разницей, что я использую animation вместо transition и overflow: auto вместо overflow: scroll.

Это исправил проблему для меня (el есть элемент DOM, к которому применяется анимация):

function fixSafariScrolling(event) { 
    event.target.style.overflowY = 'hidden'; 
    setTimeout(function() { event.target.style.overflowY = 'auto'; }); 
} 

el.addEventListener('webkitAnimationEnd', fixSafariScrolling); 
+0

Ницца, спасибо! Я заметил, что «обновление» элемента div (например, изменение содержимого внутри него) устранит проблему. Ваш обходной путь лучше. –

+0

Это тоже было моим поводом. Человек, создающий работу на веб-сайте в каждом браузере, - это такая проблема ...;)) –

+0

Спасибо, это работает для меня. слишком. (Я использую 'webkitTransitionEnd', btw.) – Pascal

 Смежные вопросы

  • Нет связанных вопросов^_^