JavaScript Bei Klick zahl zuweisen

Code:
<script type="text/javascript">
function getCurrentIndex(element, childs) {
	var curIndex;
	for (var i=0; i<childs.length; i++) {
		if (element == childs[i]) {
			curIndex = i;
			break;
		}
	}
	return curIndex;
}
function [B]setLabel[/B]() {[COLOR="Green"]// Das ist die Deklaration der function setLabel - vielleicht solltest du dich mal mit den Grundlagen von richtigem Javascript vertraut machen, bevor du einfach jQuery nutzt...[/COLOR]
	with (document.getElementsByClassName("paging")[0]) {
		var activeChild = getElementsByClassName("active")[0];
		var childs = getElementsByTagName("a");
	}
	var curIndex = getCurrentIndex(activeChild, childs);
	document.getElementById("testLabel").textContent = bildbeschreibung[curIndex];
}
var bildbeschreibung = new Array(4) ;
bildbeschreibung[0] = "erster text zum bild";
bildbeschreibung[1] = "zweiter text zum bild";
bildbeschreibung[2] = "dritter text zum bild";
bildbeschreibung[3] = "vierter text zum bild";
$(document).ready(function() {
$("#nachlinks").click(function() {
	with (document.getElementsByClassName("paging")[0]) {
		var activeChild = getElementsByClassName("active")[0];
		var childs = getElementsByTagName("a");
	}
	var curIndex = getCurrentIndex(activeChild, childs) - 1;
	if (curIndex == -1) {
		childs[9].click();
	}
	else {
		childs[curIndex].click();
	}
});
$("#nachrechts").click(function() {
	with (document.getElementsByClassName("paging")[0]) {
		var activeChild = getElementsByClassName("active")[0];
		var childs = getElementsByTagName("a");
	}
	var curIndex = getCurrentIndex(activeChild, childs) + 1;
	if (curIndex == 10) {
		childs[0].click();
	}
	else {
		childs[curIndex].click();
	}
});
[COLOR="Red"]setLabel();[/COLOR][COLOR="Green"]// Das muss weg![/COLOR]
});
</script>
<script type="text/javascript">

$(document).ready(function() {

	//Set Default State of each portfolio piece
	$(".paging").show();
	$(".paging a:first").addClass("active");
		
	//Get size of images, how many there are, then determin the size of the image reel.
	var imageWidth = $(".window").width();
	var imageSum = $(".image_reel img").size();
	var imageReelWidth = imageWidth * imageSum;
	
	//Adjust the image reel to its new size
	$(".image_reel").css({'width' : imageReelWidth});
	
	//Paging + Slider Function
	rotate = function(){	
		var triggerID = $active.attr("rel") - 1; //Get number of times to slide
		var image_reelPosition = triggerID * imageWidth; //Determines the distance the image reel needs to slide

		$(".paging a").removeClass('active'); //Remove all active class
		$active.addClass('active'); //Add active class (the $active is declared in the rotateSwitch function)
		
		//Slider Animation
		$(".image_reel").animate({ 
			left: -image_reelPosition
		}, 500 );
		[COLOR="Red"]setLabel();[/COLOR][COLOR="Green"]// Muss hierher verschoben werden von s.u.[/COLOR]
	}; 
	
	//Rotation + Timing Event
	rotateSwitch = function(){		
		play = setInterval(function(){ //Set timer - this will repeat itself every 3 seconds
			$active = $('.paging a.active').next();
			if ( $active.length === 0) { //If paging reaches the end...
				$active = $('.paging a:first'); //go back to first
			}
			rotate(); //Trigger the paging and slider function
		}, 7000); //Timer speed in milliseconds (3 seconds)
	};
	
	rotateSwitch(); //Run function on launch
	
	//On Hover
	$(".image_reel a").hover(function() {
		clearInterval(play); //Stop the rotation
	}, function() {
		rotateSwitch(); //Resume rotation
	});	
	
	//On Click
	$(".paging a").click(function() {	
		$active = $(this); //Activate the clicked paging
		//Reset Timer
		clearInterval(play); //Stop the rotation
		rotate(); //Trigger rotation immediately
		rotateSwitch(); // Resume rotation
		// Mein Addon...
		[COLOR="Red"]setLabel();[/COLOR][COLOR="Green"]// Das muss verschoben werden nach s.o.[/COLOR]
		return false; //Prevent browser jump to link anchor
	});	
	
});
</script>
Ergänzung ()

Wieso hast du eigentlich bei deinem letzten Code-Ausschnitt zwei öffnende Script-Tags hintereinander? Außerdem wird ein break <br> in XHTML, wie es deine DOCTYPE-Deklaration andeutet, als leeres Element dennoch geschlossen, also so: <br />
 
Zuletzt bearbeitet:
du meinst zwei schließende? der zweite is jetzt weg, müsste jetzt passen.

ja, die <br> ham da garnix drin verloren und so schon dreimal nicht, weiß ich auch, ebenso der font-tag, aber das war auch nur fürs kurze testen.


wenn du mir jetzt noch verrtätst wie ich das autoplay ausmache ohne mir die "vor" und "zurück" buttons wegmach, dann bin ich der glücklichste mensch im forum hier! :freaky:
Ergänzung ()

Code:
	rotateSwitch(); //Run function on launch

wenn ich die zeile lösch, funktioniert, wie gesagt, vor und zurück nichmehr!?


achja, und ja, wenn ich die seite hier gebaut hab (muss halt fertig werden das ding...) dann werd ich mich mal in die ganze jquery-geschichte gründlich einarbeiten, sind ja letzten endes alles nich so die schwierigen fragen die mich hier aufhalten, glaub ich feststellen zu können...

und, sollten wir uns mal übern weg laufen oder ich bin in deiner stadt, dann geb ich dir gern auch mal n bier oder auch fünf aus. ;)
 
Zuletzt bearbeitet:
Einfach alle Aufrufe von clearInterval, rotateSwitch sowie das rotateSwitch = "..." komplett entfernen... Und einmal das rotateSwitch, das vor //On Hover kommt mit $active = $('.paging a:first'); ersetzen.
Auch zu entfernen:
Code:
//On Hover
	$(".image_reel a").hover(function() {
		clearInterval(play); //Stop the rotation
	}, function() {
		rotateSwitch(); //Resume rotation
	});
Ergänzung ()

Moerderblume schrieb:
Und einmal das rotateSwitch, das vor //On Hover kommt mit $active = $('.paging a:first'); ersetzen.

Das ist Quatsch, lass es einfach auch ganz weg.
Ergänzung ()

Das Ganze sieht dann so in etwa aus:
Code:
<script type="text/javascript">

$(document).ready(function() {

	//Set Default State of each portfolio piece
	$(".paging").show();
	$(".paging a:first").addClass("active");
		
	//Get size of images, how many there are, then determin the size of the image reel.
	var imageWidth = $(".window").width();
	var imageSum = $(".image_reel img").size();
	var imageReelWidth = imageWidth * imageSum;
	
	//Adjust the image reel to its new size
	$(".image_reel").css({'width' : imageReelWidth});
	
	//Paging + Slider Function
	rotate = function(){	
		var triggerID = $active.attr("rel") - 1; //Get number of times to slide
		var image_reelPosition = triggerID * imageWidth; //Determines the distance the image reel needs to slide

		$(".paging a").removeClass('active'); //Remove all active class
		$active.addClass('active'); //Add active class (the $active is declared in the rotateSwitch function)
		
		//Slider Animation
		$(".image_reel").animate({ 
			left: -image_reelPosition
		}, 500 );
		
	};
	
	//On Click
	$(".paging a").click(function() {	
		$active = $(this); //Activate the clicked paging
		rotate(); //Trigger rotation immediately
		// Mein Addon...
		setLabel();
		return false; //Prevent browser jump to link anchor
	});	
	
});
</script>
 
Zuletzt bearbeitet:
famos, du bist mein held!
werd ich morgen gleich mal ausprobieren...heut verpeil ichs nurnoch, glaub ich.
 
Zurück
Oben