ich eine Onclick Funktion haben von einer „Seite“ zu einem anderen zu navigieren (es eigentlich nicht ist die Navigation, ahmt es gerade):„this“ als Argument verwenden
$('.button').on('click', function(){
$('.home').css('display','none');
var newPage = $('.'+this.id);
goTo(newPage);
});
goTo Referenz vereinfacht:
function goTo(page){
$(page).css('display', 'block');
}
Das funktioniert einwandfrei. Alle Navigationsschaltflächen haben die Klasse der Schaltfläche und eine ID, die dem Klassenname der verschiedenen "Seiten" entspricht. Klicken Sie auf # page1, display.page1, usw.
Mein Problem ist jetzt, ich muss meinen Code neu schreiben, um das gleiche für andere Elemente zu tun - versuchen, dies mit Argumenten neu zu schreiben, funktioniert dafür nicht besonders.
Hier ist, was ich versuche:
function goToPage(link, destination){
link.click(function(){
$('.home').css('display','none');
goTo(destination);
}
}
und nannte es als:
goToPage($('#page1'), $('.page1'));
funktioniert gut, aber:
goToPage($('.button'), $('.'+this.id));
nicht.
Ich nehme an, ich verstehe nicht, wie "das" in diesem Zusammenhang funktioniert. Ich dachte, es würde nur bestimmen, was "das" ist, wenn das Argument aufgerufen wird.
Also meine Frage ist: kann "das" als ein Argument auf diese Weise verwendet werden, bin ich leicht mit der Logik oder bin ich ein kompletter Idiot?
Fiddle: https://jsfiddle.net/hek0ptca/13/
Können Sie uns das Markup zeigen? – PeterMader
Wo rufst du 'goToPage ($ ('. Button'), $ ('.' + This.id))' von, da 'dies 'im Zusammenhang mit der umgebenden Schließung steht. Sie müssen den Code veröffentlichen, der zeigt, dass wir den 'goToPage (...)' Aufruf machen. – Nope
'goToPage (this, '.' + This.id);' –