в то время как PhotoSwipe до сих пор был фантастическим, только эти мелкие проблемы, которые я не могу обойти
Я инициализирую PhotoSwipe следующим образом
formPhoto.gallery = window.Code.PhotoSwipe.attach( images, options);
А внутри Галереи пользователь может выбрать, удалять изображение или нет через
Как только кнопка удаления нажата, это запускается
formPhoto.gallery.cache.images.splice(e.target.currentIndex,1);
delete formPhoto.activeObj.value[e.target.originalImages[e.target.currentIndex].id];
if(formPhoto.gallery.cache.images.length == 0)
formPhoto.gallery.hide();
else
formPhoto.gallery.carousel.show( 0 );
Теперь это работает в основном нормально, за исключением 2 случаев.
- Если вы находитесь ниже 3 фотографий, это прерывает событие слайда (на слайде справа) - изображение перемещается на черный экран. Если вы удалите и у вас останется только 1 изображение, вы даже не сможете правильно просмотреть изображение, оно просто вернется на черный экран.
- Если вы снова добавите изображения в галерею, старые изображения, которые были удалены, снова будут показаны.
Он повторно инициируется с помощью
images = [];
for(var x in formPhoto.activeObj.value)
images.push({url: formPhoto.activeObj.value[x].file, id:x});
formPhoto.gallery = window.Code.PhotoSwipe.attach( images, options);
Если хочешь, я могу попробовать сделать запись того, что происходит. Я не уверен, как это решить, я просмотрел https://github.com/codecomputerlove/PhotoSwipe/issues и Google, но ничего полезного.
Все, что я действительно хочу сделать, это просто удалить изображение из галереи (оно просматривается только в эксклюзивном режиме)