[jQuery] this an innere Funktion übergeben

Vencarii

Lieutenant
Registriert
Jan. 2011
Beiträge
535
Hallo zusammen,

ich frage mich, wie ich bei jQuery "this" in eine innere Funktion übergeben kann?
Zum besseren Verständnis hier ein konkretes Beispiel:
Ich habe eine Seite auf der mehrere Profile untereinander stehen. Wenn auf das Plus Icon geklickt wird, dann soll sich dieses Plus in ein Minus ändern und ein verstecktes div soll runtersliden. Beim weiteren Klick halt wieder hochsliden und das Minus Icon soll wieder zum Plus werden.

SO habe ich es jetzt gelöst, weil ich mir nicht anders zu helfen wusste:
Code:
$(document).ready(function() {
	$(".profil-toggle img").click(function() {
		var iconClass = $(this).attr("class");
		if ($(this).parent().next().is(":visible")) {
			$(this).parent().next().slideUp("slow", function() {
				$("."+iconClass).attr("src", "typo3conf/ext/profil/plus.gif");
			});
		}
		else {
			$(this).parent().next().slideDown("slow", function() {
				$("."+iconClass).attr("src", "typo3conf/ext/profilminus.gif");
			});
		}
	});
});

ABER SO würde ich es gerne machen:
Code:
$(document).ready(function() {
	$(".profil-toggle img").click(function() {
		if ($(this).parent().next().is(":visible")) {
			$(this).parent().next().slideUp("slow", function() {
				[HIER THIS VON AUSSEN, ALSO DAS $(".profil-toggle img")].attr("src", "typo3conf/ext/profil/plus.gif");
			});
		}
		else {
			$(this).parent().next().slideDown("slow", function() {
				[HIER THIS VON AUSSEN, ALSO DAS $(".profil-toggle img")].attr("src", "typo3conf/ext/profilminus.gif");
			});
		}
	});
});
 
ich habe this einer Variablen zugewiesen, die dann aber an die innere Funktion übergeben. Das hat dann nicht funktioniert, ohne sie als Parameter zu übergeben gehts dann? Mal probieren, ich meld mich wieder! ;)

Edit: Daumen hoch! Wenn ich die Variable direkt nutze dann gehts, danke! :-)
 
Zuletzt bearbeitet:
tasse_kaffee schrieb:
Edit: Daumen hoch! Wenn ich die Variable direkt nutze dann gehts, danke! :-)

jup ;)
Alles was du in deinem Scope definierst steht auch in den darin enthaltenden Scopes zur Verfügung, das nennt sich Closures.
 

Ähnliche Themen

Antworten
3
Aufrufe
1.901
Zurück
Oben