2014-11-24 5 views
0

Я использую IScroll на странице, которая сильно использует ScrollMagic, но не может на всю жизнь получить IScroll для работы. Основная проблема заключается в том, что большинство (но не всех) элементов на странице должны занимать 100% высоты видового экрана, поскольку они настроены как слайды с некоторыми сложными анимациями внутри них. Однако для работы height: 100% все родительские элементы должны быть одинаковыми. Это приводит к тому, что IScroll вычисляет высоту элемента оболочки на высоте окна просмотра, и, следовательно, он считает, что больше нет контента. Я работаю над jsfiddle, чтобы протестировать/продемонстрировать проблему, но задавался вопросом, столкнулся ли кто-нибудь еще с аналогичной ситуацией раньше.IScroll не работает, если содержимое 100% высоты?

ответ

2

Проблема в том, что высота всегда вычисляется относительно следующего родителя смещения.
Поскольку внутренняя оболочка iScroll должна быть расположена относительно, она является родителем смещения каждого ребенка и, следовательно, основой для их расчета высоты.

Существует простое решение, хотя:
Вместо height: 100% использования height: 100vh в вашем CSS.
Viewport единиц является то, что только немногие люди, кажется, знают о том, хотя его поддержка вполне достаточно: http://caniuse.com/#feat=viewport-units

надеюсь, что это помогает,
J

+0

Это отличная информация, спасибо! Однако он не совсем решил проблему. Я установил как обертку, так и ее содержимое (div, содержащее все слайды) в 100vh и позицию: relative, но высота смещения и clientHeight возвращаются как высота окна просмотра, поэтому IScroll не видит дополнительного контента для прокрутки. К счастью, анимации не привязаны непосредственно к полосе прокрутки, поэтому она работает без IScroll, но я все равно хочу это понять. Будет опубликован образец, как только у меня будет больше времени. :) –

+0

На самом деле обертка не должна иметь 100% высоты. высота внутренней обертки должна отражать общую длину вашего содержимого. но внутри этих секций обертки может иметь высоту видового экрана .... –