25.02.2023, 11:43
Hallo liebe Community,
ich bin also gerade dabei, mir Javascript beizubringen und habe die ersten Schritte tatsächlich schon gemacht. Im Zuge einer meiner Übungen habe ich folgendes Script erstellt.
Dabei gehts es um Bildschirmgrößen. Das Script wird in der Console tadellos ausgegeben. Wenn ich also das Browser-Bild verkleinere/respektive vergrößere und über die Breiten 400 und 900 gehe, zeigt mir das Consolenfenster das entsprechend an. Super. Verstanden.
Nun dachte ich mir aber: Wenn die Console diese Werte ausspuckt, dann kann man das doch sicher auch im Bild machen. Ich habe mich also an den Anfang des Javascript-Lernens erinnert und eine Variable in das Script eingefügt.
Hatte mich schon sehr darauf gefreut, etwas im Bild zu sehen. AAAAber ...
Uncaught SyntaxError: Unexpected token 'else' (at ...
KONKRET geht es dabei um diese Zeile im (window.attachEvent)-Bereich.
Das verstehe ich gerade nicht. Warum eine Variable mit einem einfachen und festgelegten String so etwas auslöst.
Meine Frage nun: Warum passiert dieser Fehler? Sieht ja so aus, als wäre es ein Fehler in der If-Clause. Aber warum funktioniert das dann in der Console problemlos und sobald ich eine einfache Variable hinzupacke, gibt es diesen Fehler?
Vielen Dank
Beste Grüße
Sunny
ich bin also gerade dabei, mir Javascript beizubringen und habe die ersten Schritte tatsächlich schon gemacht. Im Zuge einer meiner Übungen habe ich folgendes Script erstellt.
Code:
if (window.attachEvent) {
window.attachEvent('onresize', function() {
if (window.innerWidth < 400)
console.log("Less than 400");
else if(window.innerWidth < 900)
console.log("Less than 900");
else{
console.log("More than 900");
}
});
}else if (window.addEventListener) {
window.addEventListener('resize', function() {
if (window.innerWidth < 400)
console.log("Less than 400");
else if(window.innerWidth < 900)
console.log("Less than 900");
else {
console.log("More than 900");
}
}, true);
} else {
//...
}
Dabei gehts es um Bildschirmgrößen. Das Script wird in der Console tadellos ausgegeben. Wenn ich also das Browser-Bild verkleinere/respektive vergrößere und über die Breiten 400 und 900 gehe, zeigt mir das Consolenfenster das entsprechend an. Super. Verstanden.
Nun dachte ich mir aber: Wenn die Console diese Werte ausspuckt, dann kann man das doch sicher auch im Bild machen. Ich habe mich also an den Anfang des Javascript-Lernens erinnert und eine Variable in das Script eingefügt.
Code:
var inhalt; // Das ist die Variable, habs auch mit let probiert gehabt
if (window.attachEvent) {
window.attachEvent('onresize', function() {
if (window.innerWidth < 400)
console.log("Less than 400");
inhalt='kleiner als 400'; // Variable mit Inhalt füllen
else if(window.innerWidth < 900)
console.log("Less than 900");
inhalt='kleiner als 900'; // Variable mit Inhalt füllen
else{
console.log("More than 900");
inhalt='größer als 900'; // Variable mit Inhalt füllen
}
});
}else if (window.addEventListener) {
window.addEventListener('resize', function() {
if (window.innerWidth < 400)
console.log("Less than 400");
inhalt='kleiner als 400'; // Variable mit Inhalt füllen
else if(window.innerWidth < 900)
console.log("Less than 900");
inhalt='kleiner als 900'; // Variable mit Inhalt füllen
else {
console.log("More than 900");
inhalt='größer als 900'; // Variable mit Inhalt füllen
}
}, true);
} else {
//...
}
// Und hier gebe ich diese Variable nun aus, zumindest war das der Plan
document.write(inhalt);
Hatte mich schon sehr darauf gefreut, etwas im Bild zu sehen. AAAAber ...
Uncaught SyntaxError: Unexpected token 'else' (at ...
KONKRET geht es dabei um diese Zeile im (window.attachEvent)-Bereich.
Code:
else if(window.innerWidth < 900)
Das verstehe ich gerade nicht. Warum eine Variable mit einem einfachen und festgelegten String so etwas auslöst.
Meine Frage nun: Warum passiert dieser Fehler? Sieht ja so aus, als wäre es ein Fehler in der If-Clause. Aber warum funktioniert das dann in der Console problemlos und sobald ich eine einfache Variable hinzupacke, gibt es diesen Fehler?
Vielen Dank
Beste Grüße
Sunny