Stop Funktion

arraybreak

Erfahrenes Mitglied
Abend zusammen,

ich habe eine Slideshow mit 4 Punkten die automatisch läuft, nun wollte ich, dass es beim 4 Punkt automatisch stoppt, wie kriege ich das hin?

Wäre für jede Hilfe sehr dankbar!

Hier mein Code:

Code:
jQuery(document).ready(function($) {
	$.fn.featureList = function(options) {
		var tabs	= $(this);
		var output	= $(options.output);

		new jQuery.featureList(tabs, output, options);

		return this;	
	};

	$.featureList = function(tabs, output, options) {
		function slide(nr) {
			if (typeof nr == "undefined") {
				nr = visible_item + 1;
				nr = nr >= total_items ? 0 : nr;
			}

			tabs.removeClass('current').filter(":eq(" + nr + ")").addClass('current');

			output.stop(true, true).filter(":visible").fadeOut();
			output.filter(":eq(" + nr + ")").fadeIn(function() {
				visible_item = nr;	
			});
		}

		var options			= options || {}; 
		var total_items		= tabs.length;
		var visible_item	= options.start_item || 0;

		options.pause_on_hover		= options.pause_on_hover		|| true;
		options.transition_interval	= options.transition_interval	|| 10000;

		output.hide().eq( visible_item ).show();
		tabs.eq( visible_item ).addClass('current');

		tabs.click(function() {
			if ($(this).hasClass('current')) {
				return false;	
			}

			slide( tabs.index( this) );
		});

		if (options.transition_interval > 0) {
			var timer = setInterval(function () {
				slide();
			}, options.transition_interval);

			if (options.pause_on_hover) {
				tabs.mouseenter(function() {
					clearInterval( timer );

				}).mouseleave(function() {
					clearInterval( timer );
					timer = setInterval(function () {
						slide();
					}, options.transition_interval);
					
				});
			}
		} 
	};
});
 
Bau in dein Script eine Zählvariable ein, die du bei jedem Slide prüfst und um eins erhöhst. Wenn sie einen bestimmten Wert erreicht (3 oder 4, je nachdem, an welcher Stelle du prüfst), dann hast du das vierte Bild erreicht und beendest das automatische Sliden.

PS: Könntest du deinen Quellcode noch etwas kommentieren?
 
Ändere mal
Javascript:
           if (typeof nr == "undefined") {
                nr = visible_item + 1;
                nr = nr >= total_items ? 0 : nr;
            }
in
Javascript:
           if (typeof nr == "undefined") {
                nr = visible_item + 1;
                nr = nr >= total_items ? total_items : nr;
            }
 
Zuletzt bearbeitet von einem Moderator:
Danke dir erst mal, er stoppt, aber irgend wo außerhalb, schaut so aus als er beim punkt 5 stoppt, obwohl ich nur 4 punkte (slides) habe...
 
Na dann mach setz'
Javascript:
           if (typeof nr == "undefined") {
                nr = visible_item + 1;
                nr = nr >= total_items ? (total_items - 1) : nr;
            }
 
Zuletzt bearbeitet von einem Moderator:

Neue Beiträge

Zurück