Hallo,
jQuery bietet einem wenig zur Strukturierungsmöglichkeiten. Klar, es gibt
$(document).ready()
und selbstausführende Funktionen(function() {})()
. Aber das sind eigentlich keine Werkzeuge, um JavaScript-Code in Modulen zu strukturieren. Dafür gibt es eigene Techniken. Siehe meine JavaScript-Doku zur Organisation von JavaScripten, speziell:
OK! Wenn ich das richtig verstanden habe, dann komme ich zu folgendem Ansatz:
var TestFW = (function () {
function init() {
$(".dia-show-starter").click(
var diashow = new DiaShow();
diashow.startShow();
);
}
function DiaShow() {
this.startShow = function() {
//doSomething with JS and JQ
}
this.stopShow() {
}
}
return {
afterLoad: function() {
init();
}
}
})();
$(document).ready(function(){
TestFW.afterLoad
}
Wobei man sicher in diesem kleinen Beispiel auf function init() verzichten könnte und alles im return/afterLoad starten könnte.
...Das kann man so machen, ja. Wobei die Diashow auch das Event-Handling übernehmen sollte. Von außen kann das konfigurierbar sein. Beispielsweise:
var diashow = new DiaShow({ starter: '.dia-show-starter' });
diashow.start();
Das habe ich nicht richtig verstanden! Ich möchte doch über alle Elemente der Klasse "dia-show-starter" loopen und eine neue Diashow instantiieren. Wie kann ich da das Eventhandling mit übergeben?
Danke und viele Grüße
Siri