2015-11-12 1 views
0

Я построил карусель изображений с использованием Prototype.js - да, я знаю, что это устарело, и есть миллион каруселей jQuery, но наша платформа имеет много старых прототипов кода от которого мы не можем перейти.Не могу решить, что с моей Carousel

Карусель в значительной степени работает, но есть одна ошибка, которую я не могу понять. Нажатие кнопки «Далее» всегда идеально подходит для следующего изображения, но кнопка «Предыдущая» работает только иногда. Предыдущее изображение всегда добавляется к началу, но скольжение в анимации не всегда происходит.

Когда Далее нажимается первый слайд компенсируется его ширина с помощью margin-left так скользит из поля зрения, он затем добавляется в конец очереди и имеет его Левое поле сбрасывается в 0.

Когда Предыдущая , последний слайд добавляется к передней части очереди, а затем смещается влево, используя его ширину, а затем перемещается на место, удаляя смещение.

Here's a fiddle любая помощь будет очень признателен

Я думаю, что проблема в том, что иногда функция, которая сбрасывает последние слайды Маржа налево на 0, называется прежде, чем это было компенсировано так просто появляется на фронте.

+0

Для меня это отлично работает (на Safari), на самом деле следующий, кажется, не включает полное изображение, но превью делает. –

+0

Я тестирую Chrome, интересно, что это не происходит на Safari. Следующее изображение меньше, это контейнер по-прежнему одного размера – Pixelomo

ответ

1

Оказалось, что это очень сложно исправить, я изменил время перехода слайдов с 0,5 секунды до 1 секунды, и ошибка исчезла. Тем не менее, не на 100% уверен, почему, но я думаю, что функции занимают больше времени при анимации предыдущих слайдов по сравнению со следующими слайдами, и поэтому потребовалось немного больше времени, чтобы догнать себя, чтобы избежать падения.

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