Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript] Karuzela - galeria (slider) - automatyczny start
Forum PHP.pl > Forum > Przedszkole
Carveth
Witam

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:

  1. $j.fn.imageSlide = function(options) {
  2. var images = this.find('img').get(),
  3. container = this,
  4. settings = $j.extend({
  5. speed: 400,
  6. styles : [{},{},{}]
  7. }, options),
  8. animating = false;
  9. function slide(direction) {
  10. animating = true;
  11. var left = direction.toLowerCase() === 'right';
  12.  
  13. $j(images).each(function(i){
  14. $j(images[i]).animate(settings.styles[left ? (i == 0 ? 2 : i - 1) : (i == 2 ? 0 : i + 1)], settings.speed);
  15. });
  16. setTimeout(function(){
  17. $j(images[0]).css({zIndex: left ? 1 : 2});
  18. $j(images[1]).css({zIndex: 1});
  19. $j(images[2]).css({zIndex: left ? 2 : 1});
  20. }, settings.speed / 2);
  21. setTimeout(function(){
  22. var old = images;
  23. images = [];
  24. images[0] = old[left ? 1 : 2];
  25. images[1] = old[left ? 2 : 0];
  26. images[2] = old[left ? 0 : 1];
  27. animating = false;
  28. }, settings.speed);
  29.  
  30. }
  31. $j(container).click(function(e){
  32. if(animating) {return;}
  33. if(e.target === images[0]) {slide('right')}
  34. else {slide('left')}
  35. })
  36. return this;
  37. };
  38.  
  39. $j('#panel img').css('cursor','pointer');
  40.  
  41.  
  42. $j('#panel').imageSlide({
  43. // Higher = slower
  44. speed: 500,
  45. // Set each image's dimensions here:
  46. styles : [
  47. {width: 320,top: 110,left: 0},
  48. {width: 526,left: 212,top: 0},
  49. {width: 320,top: 110,left: 631}
  50. ]
  51. })


A oto kod w htmlu

  1. <div id="panel">
  2. <img src="images/gallery/www2.png" id="left_slide" />
  3. <img src="images/gallery/www.png" id="center_slide" />
  4. <img src="images/gallery/www3.png" id="right_slide" />
  5. </div>


Pozdrawiam
kpt_lucek
O ile się nie mylę to:
[JAVASCRIPT] pobierz, plaintext
  1. setInterval(function(e) {
  2. if(animating) {return;}else{slide('right')}
  3. }, 5000);
[JAVASCRIPT] pobierz, plaintext


? nie sprawdzone
Carveth
Wielkie dzięki, działa poprawnie
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.