jsfiddle здесь (обновлено)
У меня есть наборы изображений (например, альбом), которые я хочу отобразить на одной странице.Итак, у меня есть блок с одной миниатюрой для каждого альбома, и я использую jquery, чтобы развернуть блок и заменить миниатюру слайд-шоу всех изображений для этого альбома.
<div class="slideshowContainer">
<div class="slide"><img /></div>
<div class="slide"><img /></div>
</div>
jquery вставляет div «slideInner»вокруг всех слайдов, чтобы провести их в сторону. В этом и заключается проблема. Поскольку на странице есть несколько экземпляров слайд-шоу, оно оборачивает все элементы div с классом «slide», а не только для этого альбома.эффективно вытягивая все изображения в слайд-шоу для одного альбома и оставляя все остальные пустыми.
HTML генерируется PHP, поэтому, хотя я могу добавить уникальный класс для каждого слайд-шоу, я не обязательно знаюзначение.
РЕДАКТИРОВАТЬ: я обновил код, чтобы при щелчке вызывать скрипт слайд-шоу как функцию, и собирал сгенерированный php идентификатор для этого элемента, используя $ this на элементе clicked. Теперь в слайд-шоу распознавались только правильные изображения.для этого альбома, но теперь есть 2 новых выпуска:
1.) ширина тdiv 'slideInner' теперь вычисляется слишком широко, и поэтому он продолжает позволять вам перемещать позицию, даже при том, что есть только количество div 'слайдов.
2.) странные вещи случаются, когда выуменьшите масштаб коробки, а затем снова откройте ее.Я предполагаю, что это потому, что функция Slideshow теперь вызывается дважды для одного и того же элемента.Как мне прекратить / сбросить функцию, когда окно закрыто?