platypush/platypush/backend/http/static/js/widgets/image-carousel.js

38 lines
959 B
JavaScript

$(document).ready(function() {
var $imgElement = $('.image-carousel').find('.carousel'),
config = window.widgets['image-carousel'],
images = config.imageUrls,
processedImages = 0;
var shuffleImages = function() {
for (var i=images.length-1; i > 0; i--) {
var j = Math.floor(Math.random() * (i + 1));
var x = images[i];
images[i] = images[j];
images[j] = x;
}
};
var refreshImage = function() {
$imgElement.css('background-image', "url('" + images[processedImages++] + "')");
if (processedImages == images.length-1) {
shuffleImages();
processedImages = 0;
}
};
var initWidget = function() {
shuffleImages();
refreshImage();
setInterval(refreshImage,
'refresh_seconds' in config ? config.refresh_seconds * 1000 : 15000);
};
var init = function() {
initWidget();
};
init();
});