Я пытаюсь создать страницу с возможностью переключения между различными наборами изображений в качестве содержимого моей галереи. Я поставил эксперимент, чтобы попытаться заставить его переключаться между двумя разными наборами изображений, например:
<div id="galleria"></div>
<div class="under-galleria">
<a href=# id="g-play-pause">Play/Pause</a>
<a href=# id="switch">SWITCH</a>
</div>
<script>
//content
var data = [
{
thumb: 'img/thumb.1.jpg',
image: 'img/med.1.jpg',
big: 'img/lrg.1.jpg',
},
{
thumb: 'img/thumb.2.jpg',
image: 'img/med.2.jpg',
big: 'img/lrg.2.jpg',
},
];
var data2 = [
{
thumb: 'img/thumb.3.jpg',
image: 'img/med.3.jpg',
big: 'img/lrg.3.jpg',
},
{
thumb: 'img/thumb.4.jpg',
image: 'img/med.4.jpg',
big: 'img/lrg.4.jpg',
},
];
//left and right arrows control from keyboard
Galleria.ready(function() {
var gallery = this;
gallery.attachKeyboard({
left: gallery.prev,
right: gallery.next,
});
});
//load theme
Galleria.loadTheme('galleria/themes/classic/galleria.classic.min.js');
//configure
Galleria.configure({
thumbnails:'lazy',
lightbox: true,
dataSource:data
});
//on ready functions (lazy load, auto play)
Galleria.ready(function(){
this.lazyLoadChunks(3);
this.play(3000);
});
//run and extend
Galleria.run('#galleria', {
//play/pause toggle
extend: function() {
var gallery = this;
$('#g-play-pause').click(function() {
gallery.playToggle()
});
$('#switch').click(function() {
gallery.destroy({dataSource:data})
gallery.load({dataSource:data2})
});
}
});
</script>
Это загружает первый набор изображений «данные», но когда я нажимаю ссылку переключения, он удаляет только первый набор, но не добавляет второй набор («данные2»). Консольных ошибок нет, просто унылая, пустая галерея. Я пробовал использовать splice и push, но это тоже не сработало...
Я хочу, чтобы Galleria загружала изображения 1 и 2 (данные), а когда я нажимаю ссылку #switch, удаляю изображения 1 и 2 и заменяю их изображениями 3 и 4 (данные 2). В конце концов я хотел бы иметь возможность объединить их, но это хорошее начало.