Sie haben gesagt, dass Sie JavaScript schreiben und jQuery verwenden, aber der von Ihnen veröffentlichte Code ist Java, nicht JavaScript. (Es wäre sogar ein gültiger Java-Code, wenn wir von einem statischen Import ausgehen, der eine $
-Methode liefert.) Sie sind völlig verschiedene (obwohl oberflächlich ähnliche) Sprachen.
Ich empfehle Ihnen, JavaScript zu lesen.
Wenn Sie wirklich eine Klasse möchten (z. B. werden Sie mehrere Instanzen erstellen), lesen Sie weiter; Wenn nicht, wenn Sie nur ein einziges viewer
Objekt wünschen, siehe Rajshekar Reddy's answer.
Um eine Klasse in der modernen (ES2015 und später) JavaScript zu erstellen, ist Ihr Code weitgehend richtig, wenn wir nur public
und int
entfernen und die Definition des Konstruktor ändern:
// ES2015+
class viewer {
constructor() {}
void show(id) {
$(".previewItem").fadeOut("slow");
$(".container").append("<img src='../img/portfolio/IMG'" +id +".jpg class='viewerIm'/>");
}
}
Aber beachten Sie, dass es immer noch sind viele Browser da draußen, die ES2015 class
Syntax noch nicht behandeln kann.
In ES5, es so sein würde:
// ES5 and earlier
function viewer() {
}
viewer.prototype.show = function show(id) {
$(".previewItem").fadeOut("slow");
$(".container").append("<img src='../img/portfolio/IMG'" +id +".jpg class='viewerIm'/>");
};
Und das in beiden Fällen beachten (und in Java und C#), die überwältigende Konvention ist eine Klasse mit einem Kapital zu nennen erster Buchstabe, z , nicht viewer
.
Ihre Syntax ist falsch. Erfahren Sie mehr über Javascript-Klassen (sie haben keine Zugriffsmodifikatoren) – SLaks
öffentlichen void ?? klingt nicht wie Javascript – Deep