Так что, по сути, вы хотите сделать что-то похожее на то, для чего я сделал: http://bbh.co.uk?
Логика очень проста, скажем, у вас есть 7 панелей, первое, что я сделал, это разработал, где 0точка перемещения, где находится центр 7 панелей, в данном случае это 4-й, так как у нас было бы 3 слева и 3 справа.
С этой 0 точкой мы можем затем решитьтам, где панели будут появляться, прокрутка произошла, скажем, пользователь прокручивает 2 слева направо, это означает, что наша точка 0 становится -2, поэтому мы перемещаем два справа налево вперед, т.е. мы добавляем их ксписок.
Самый простой способ управления им был с массивом, так как мы можем .push()
, .pop()
, .shift()
и .unshift()
панели.
Как только мы получилилогика в том порядке, в котором мы разместили каждый элемент, устанавливает позицию CSS каждой панели как абсолютную, а затем вычисляет ее положение в зависимости от того, где она находится в массиве, например, панель 0 будет в 0px
слева в контейнере, а панель 7 будет вpanel.width * 7
и т. Д.
Затем необходимо убедиться, что контейнер находится в центре, в этой начальной точке 0 и в бум, у вас есть некоторая бесконечная прокрутка.