У меня есть галерея с миниатюрами (если это имеет значение, я использую FlexSlider 2).
И моя проблема: мне нужно иметь возможность повторно заказывать фотографии, используя только миниатюры, чтобы они действовали как зеркало - изменение порядка в эскизах должно приводить к изменению порядка в самой галерее.
Кроме того, было бы неплохо, если бы он опубликовал информацию serialize() через AJAX для скрипта, который записывал новый порядок (я использую gem для acts_list для моего приложения Ruby on Rails)
Итак, представьте себе что-то вроде этого:
<ul id="gallery">
<li>Img 1</li>
<li>Img 2</li>
</ul>
<ul id="thumbnails">
<li>Img 1 thumb</li>
<li>Img 2 thumb</li>
</ul>
Таким образом, только #thumbnails
должны быть сменными... но порядок #gallery
должен быть изменен автоматически.
Это выполнимо?
На основе вашего примера это возможное решение, оно не очень красивое, но все основные части есть. Этот код только переупорядочивает изображения на основе индекса эскизов, он ничего не сериализует.
скрипка
http://jsfiddle.net/Rusln/NhuZp/
Код
var originalIndex;
var newIndex;
var originalImage;
var newImage;
var gallery = $("#gallery");
$("#thumbnails").sortable({
start:function(ev,ui){
originalIndex = ui.item.index();
originalImage = gallery[0].children[originalIndex];
},
stop:function(ev,ui){
newIndex = ui.item.index();
newImage = gallery[0].children[newIndex];
if(originalIndex < newIndex){
$(newImage).after(originalImage);
}else{
$(newImage).before(originalImage);
}
}
})
Что происходит?