GravTheme/js/slideshowext.js

31 lines
854 B
JavaScript

let intervs = {};
function autoslide(el) {
let children = el.children('input:checked');
let next = children.next('input');
if(next.length == 0) {
next = el.children('input').first();
}
next.prop('checked', true);
}
$(function() {
$('.slideshow-ext').each((index, vel) => {
let el = $(vel);
let interval = Number(el.data('autoslide-interval'));
if (interval <= 0) {
return;
}
intervs[el] = setInterval(autoslide, interval * 1000, el);
});
$('.slideshow-ext label').on('click', function(event) {
let el = event.currentTarget();
let interval = Number(el.data('autoslide-interval'));
if(interval > 0) {
clearInterval(intervs[el]);
intervs[el] = setInterval(autoslide, interval * 1000, el);
}
});
}, );