Странное поведение полосы прокрутки на Mac и IOS Safari (css / javascript) - PullRequest
0 голосов
/ 20 октября 2011

У меня очень странная проблема с полосами прокрутки Mac и IOS Safari.Похоже, что между Google Картами и позиционированием CSS существует какое-то безумное взаимодействие, которое влияет только на Mac и IOS Safari.

Эта ссылка прекрасно работает в Chrome, Firefox, Internet Explorer и Safari в Windows.

Вот ссылка на данную страницу: http://ve.6k2cfrvt.vesrv.com/find-a-venue/

Вам нужно увидеть страницу, чтобы понять проблему.Полоса прокрутки просто не работает в Safari Mac.Я использую jScrollPane, чтобы позволить мне добавить стили к полосе прокрутки.Я выполнил немало отладок, и, насколько я вижу, safari неправильно применяет параметр CSS "top".

Если я удаляю Google Maps.Проблема уходит.(эта страница имеет обычные полосы прокрутки: http://ve.6k2cfrvt.vesrv.com/become-a-host/)

У кого-нибудь есть идеи по поводу решения?

Спасибо

1 Ответ

0 голосов
/ 21 октября 2011

Итак, я наконец нашел проблему.Safari Mac, похоже, оптимизировал перерисовку настолько, что иногда он неправильно корректирует элементы, когда их CSS изменяется с помощью Javascript.

Простое решение:

//elem is a jQuery object
if($.browser.safari) elem.addClass('repaint');
elem.updateCSSProperties();
if($.browser.safari) elem.removeClass('repaint');

Добавлениеи удаление класса заставляет Safari перекрашивать элемент.Надеюсь, это кому-нибудь пригодится.

...