Posiadam pewną galerię typu karuzela (po kliknięciu na obrazek przestawiają się zmieniając swoje położenie)
Taki przykład mamy np tutaj:
http://fredhq.com/projects/roundabout/demos/standard
Ja mam kod na 3 obrazki, chciałbym jednak by akcja następowała sama po np. 5 sekundach (aktualnie trzeba kliknąć na obrazek by zmienił położenie).
Oto kod js:
$j.fn.imageSlide = function(options) { var images = this.find('img').get(), container = this, settings = $j.extend({ speed: 400, styles : [{},{},{}] }, options), animating = false; function slide(direction) { animating = true; var left = direction.toLowerCase() === 'right'; $j(images).each(function(i){ $j(images[i]).animate(settings.styles[left ? (i == 0 ? 2 : i - 1) : (i == 2 ? 0 : i + 1)], settings.speed); }); setTimeout(function(){ $j(images[0]).css({zIndex: left ? 1 : 2}); $j(images[1]).css({zIndex: 1}); $j(images[2]).css({zIndex: left ? 2 : 1}); }, settings.speed / 2); setTimeout(function(){ var old = images; images = []; images[0] = old[left ? 1 : 2]; images[1] = old[left ? 2 : 0]; images[2] = old[left ? 0 : 1]; animating = false; }, settings.speed); } $j(container).click(function(e){ if(animating) {return;} if(e.target === images[0]) {slide('right')} else {slide('left')} }) return this; }; $j('#panel img').css('cursor','pointer'); $j('#panel').imageSlide({ // Higher = slower speed: 500, // Set each image's dimensions here: styles : [ {width: 320,top: 110,left: 0}, {width: 526,left: 212,top: 0}, {width: 320,top: 110,left: 631} ] })
A oto kod w htmlu
Pozdrawiam