Примеры работ по созданию сайтов для саратова
Многоязычные сайты - готовые решения для многонационального бизнеса
Готовые решения для вашего сайта интернет-магазина
- Я рекомендую использовать хостинг от Интернет Хостинг Центра
AndresDanilovСайты на любой вкус |
||
Для клиентовЗагруженность12.12.2024 - 22.12.2024
КалендарьСсылки по теме
|
jScrollPane - не показывает содержимое до концаСтолкнулся с проблемой, что плагин jScrollPane (для jQuery), созданный для замены стандартных полос прокрутки (scrollbar-ов) не всегда пролистывает содержимое блока до самого низа. Т.е. возникает ситуация, когда содержимое блока еще есть, а прокрутка уже дошла до крайней нижней позиции. На простых дизайнах этого вроде не возникает. Firefox и Opera показывали все на ура, а вот Chrome и IE не хотели. Были предприняты следующие шаги:
После этого было принято решение лезть в код плагина, чтобы выяснять, как рассчитывается шаг прокрутки, минимальные и максимальные значения. В ходе экспериментов было выявлено, что иногда Chrome все-таки срабатывает правильно, но при обновлении страницы опять сбивается на неправильное отображение. В ходе просмотра исходного кода я встретил параметр плагина: autoReinitialise, который вызывает обновление параметров блока, через некоторый промежуток времени (этот промежуток задается параметром autoReinitialiseDelay). Наличие такого параметра и факт того, что иногда Chrome все же показывал правильно, навело меня на следующее умозаключение: Инициализация объекта происходит до того, как сформировалась окончательная высота блока (до завершения загрузки картинок и пр. переменных по высоте блоков). Это приводит к неправильным рассчетам внутри плагина. Переинициализаця помогает предотвратить это. После переключения этого параметра, все стало работать как часы! В код инициализации был изменен на: $('.scrollbar').jScrollPane({ autoReinitialise : true });
PS. Не исключено, что при инициализации плагина через событий onLoad, такой проблемы бы не возникло. Но создатели дизайн-макета придумали свою сверх естественную систему инициализации различных java-script модулей, в которую не хотелось вмешиваться. |