Beiträge von Sempervivum

    PS: Ich hätte das gleich testen sollen: Die verketteten += sind nicht das Problem, sondern die Variablen sind undefiniert, wenn die Checkbox nicht gecheckt ist. Und bei den keys ist das führende & überflüssig, weil die Parameter aus den Checkboxen es schon haben. Dieses liefert die gewünschte URL:

    Ich denke, ich sehe wo es noch hakt: Du brauchst noch die Elemente für die Anzeige, d. h. dieses:

    Code
    // SELECT ELEMENTS
    const iconElement = document.querySelector(".weather-icon");
    const tempElement = document.querySelector(".temperature-value p");

    am Anfang des Skriptes.

    PS: Ich vermute mal, dass Du einfach die Standortabfrage gelöscht hast. Dann kann es nicht mehr funktionieren, denn die Funktion getWeather wird in setPosition aufgerufen und diese ist wieder ein Callback bei der Standortabfrage in Zeile 15. D. h. das einzige, was Du tun musst, ist die Funktion getWeather() am Ende des Skripts aufzurufen.

    Sieh genau hin, ich habe, um es leicht testen zu können, das Eintragen in die HTML-Elemente auskommentiert und die Daten statt dessen in die Console geschrieben:

    Code
            function displayWeather() {
                console.log(weather);
                // iconElement.innerHTML = `<img src="icons/${weather.iconId}.png" />`;
                // tempElement.innerHTML = `${weather.temperature.value}°<span>C</span>`;
            }

    Wenn Du das wieder rückgängig machst, sollte es funktionieren:

    Code
            function displayWeather() {
                iconElement.innerHTML = `<img src="icons/${weather.iconId}.png" />`;
                tempElement.innerHTML = `${weather.temperature.value}°<span>C</span>`;
            }

    Ich habe dein Skript mal auf das notwendigste reduziert und dann funktioniert es einwandfrei:

    In deinem Skript ist jedoch die Standortabfrage noch drin. Soll das jetzt die Version vor oder nach dem Umbau sein?

    Ich habe mal einen Prototypen gemacht, um den roten Balken in das SVG einzufügen:

    ?thumbnail=1

    Die Parameter werden aus dem vorhandenen SVG ausgelesen. Ist kein Label "2019-2020" da, wird auch kein Balken erzeugt.

    Funktioniert auf meiner Testseite; es muss dann noch in die originale Seite integriert werden.

    PS: Jetzt getestet und war noch fehlerhaft. Die Funktion muss so aussehen:

    Der Kern der Sache scheint mir dieses zu sein:

    Code
                function statsValue(pos) {
    
                    nameValue[pos];
                    console.log('2');
                    console.log(pos);
    
                };

    Ich vermute, Du willst die Einträge aus nameValue in die Felder unten übertragen. nameValue ist jedoch keine Funktion und die Anweisungen, die darin stehen, werden nicht ausgeführt durch nameValue[pos], sondern nur ein Mal, wenn Du diese Struktur definierst. Vermutlich würde dies tun, was Du vor hast:

    Und dann in der Funktion:

    Ungetestet, versuche es mal so.

    Ob und wo die Console in Sublime zu finden ist, weiß ich leider nicht. In jedem Fall findest Du sie aber in deinem Browser: F12 in IE und Edge, Strg+Umsch+I in den anderen.

    Zitat

    Bzw weiß nicht, ob es ratsam ist, auf eine externe Lösung zurückzugreifen.

    Was meinst Du damit?