Vintage85: Bildwechsel neuzählen nach Bildwechsel

Hallo!

Ich habe den folgenden Code realisiert. Hiermit ist es möglich sich durch eine Bildergallerie zu klicken. Falls nicht geklickt wird, ändert sich das Bild in einem Intervall von 5000. Leider zählt er hier einmal durch und macht den Bildwechsel - auch wenn zwischendurch manuell gewechselt wird. Dadurch kann es vorkommen, dass manuell weitergeklickt wurde und dann direkt der automatische Bildwechsel kommt. Das wirkt ganz unschön.  Das Neuzählen soll jedoch immer wieder neustarten, wenn ein neues Bild aufgerufen wurde. Wie kann ich das umsetzen?

Danke und schöne Grüße,
Martin

		<script type="text/javascript">  
		  
			$(document).ready(function() {  
			  
				var pfad = "pics/fashion/";  
				var anzahl = 24;  
				var image = $('#image');  
   				  
   				if($(location).attr("hash")) {  
					  
					var newImage = parseInt($(location).attr("hash").replace("#", ""),10);  
					  
					if(newImage > anzahl || newImage < 1 || typeof(newImage)  == "undefined" || isNaN(newImage)) { newImage = 1; }  
  
					image.attr('src',pfad + newImage + ".jpg");  
					image.attr('alt',newImage);  
					  
				}  
				  
				imagePreload();  
				  
				function imagePreload() {  
	  
					var imageNr = parseInt(image.attr('alt'),10);  
					  
					var preloadNext = new Image();  
					var preloadImageNext = imageNr + 1;  
   					preloadNext.src = pfad + preloadImageNext + ".jpg";  
   					  
   					var preloadPrev = new Image();  
					var preloadImagePrev = imageNr - 1;	  
   					preloadPrev.src = pfad + preloadImagePrev + ".jpg";  
   					  
   					var preloadNextNext = new Image();  
					var preloadImageNextNext = imageNr + 2;  
   					preloadNextNext.src = pfad + preloadImageNextNext + ".jpg";  
   					  
   					var preloadPrevPrev = new Image();  
					var preloadImagePrevPrev = imageNr - 2;  
   					preloadPrevPrev.src = pfad + preloadImagePrevPrev + ".jpg";  
  
   				}  
   				  
				  
				function nextImage() {  
					changeImage(parseInt(image.attr('alt'),10) + 1);  
					imagePreload();  
				}  
				  
				function prevImage() {  
					changeImage(parseInt(image.attr('alt'),10) - 1);  
					imagePreload();  
				}  
								  
				function changeImage(newImage) {  
				  
					if(newImage > anzahl || typeof(newImage)  == "undefined" || isNaN(newImage)) { newImage = 1; }  
					if(newImage < 1) { newImage = anzahl; }  
					  
					image.attr('alt',newImage);  
					$(location).attr("hash","#" + newImage);  
					  
					image.fadeTo( 0, 0, function() {  
						image.attr('src',pfad + newImage + ".jpg");  
					});  
					  
					image.load( function() {  
      					image.fadeTo( 0, 100);  
   					});			  
											  
				}  
				  
				image.click(nextImage);  
				$('.next').click(nextImage);  
				$('.prev').click(prevImage);  
							  
				var int = setInterval(nextImage, 50000);  
														  
				  
			});  
			  
		</script>
  1. Om nah hoo pez nyeetz, Vintage85!

    Beschäftige dich mit Eventmanagement (einen guten Artikel gibts bei Mathias Schäfer (molily))

    Dann könntest du das Script starten

    • nach dem Laden der Seite mit Bild 1
    • nach dem Betätigen des Vorwärts-Buttons mit Bild k
    • nach dem Betätigen des Rückwärts-Buttons ebenfalls mit dem aktuellen Bild

    Matthias

    --
    1/z ist kein Blatt Papier. http://www.billiger-im-urlaub.de/kreis_sw.gif
    1. Meinst du Artikel 9. Einbindung in HTML und Ereignisverarbeitung (Event-Handling)?

  2. Hi,

    Das Neuzählen soll jedoch immer wieder neustarten, wenn ein neues Bild aufgerufen wurde. Wie kann ich das umsetzen?

    In dem du das Interval clearst, wenn manuell geblättert wird ...?

    MfG ChrisB

    --
    RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
    1. Was heißt das konkret? Bin leider nicht der absolute JavaScript Experte.

      1. Hi,

        Was heißt das konkret? Bin leider nicht der absolute JavaScript Experte.

        Dann *informiere* dich bitte.
        Was es bedeutet, findest du sogar schon im Beispiel in der SELFHTML-Beschreibung zu setInterval.

        MfG ChrisB

        --
        RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?