Beiträge von Sempervivum

    Ich empfehle, jeweils ein p-Element für die Namen zu verwenden, dann werden sie automatisch untereinander angeordnet. Wenn Du innerHTML verwendest, um den Text einzutragen, kannst Du auf die Verwendung von textNode verzichten:

    Code
    name = document.createElement("p");
    name.innerHTML = obj[i].name;
    Zitat

    Der schwarze rand ist ja der border von der tabelle.Meines wissens läst sich da nicht rein schreiben.

    Man müsste die Tabelle etwas umbauen und das anders Regeln.

    In meinen Augen etwas unlogisch, dass die Caption der Tabelle nicht innerhalb des Rahmens angezeigt wird. Ich schlage vor, einen Wrapper um die Tabelle zu legen und diesem den Rahmen zu geben.

    Wüsste nicht, dass man die Geschwindigkeit auslesen könnte. Lädt man eine Datei über Ajax, kann man den Fortschritt ermitteln und anzeigen. Habe ich früher mal programmiert. IMO wäre dann aber das Verhältnis zwischen Aufwand und Nutzen nicht verhältnismäßig. Außerdem handelt es sich teilweise um MJPEG-Streams und ich bezweifle, dass man die mit Ajax laden kann.

    Auch das verstehe ich nicht richtig, ohne das Umfeld zu sehen. Der Parameter value ist der Wert, der aktuell angezeigt werden soll. max ist der Maximalwert, der auftreten kann. Der Maximalwert wird beim Start nur temporär eingesetzt, um die Größe berechnen zu können, sofort anschließend wird er durch value ersetzt:

    Ich würde ja eher eine Galerie empfehlen, die durch Klick bedient wird, damit sie auch auf Touch-Geräten funktioniert. Diese habe ich früher mal gemacht:

    Edit: Ich sehe, dass die Galerie von Gipspferd das auch realisiert, mit :focus. Nehme alles zurück.

    Der Fehler liegt beim Aufruf:

    Code
    erstelleBalken(balkenId3, 0, 0, { colorBar: 'black', templateText: "{remaining}\'", textPos: "left" });

    Der dritte Parameter ist der Maximalwert und darf nicht Null sein. Das Skript setzt zunächst den Maximalwert in den Text ein um den maximal benötigten Platz zu messen. Übergibst Du 0, wird der Platz für "0'" berechnet. Nimmt der Wert im weiteren Verlauf größere Werte an, reicht der Platz nicht aus.

    Der Grund ist, dass dieses:

    Code
    circle.onclick=add

    den Listener überschreibt, während addEventListener(), wie der Name sagt, hinzu fügt.

    In jedem Fall ist es IMO sauberer und klarer, wenn man ihn nur einmal bei Laden der Seite hinzu fügt, denn das Kreiselement bleibt ja unverändert im Spielverlauf.

    Versuch macht kluch - ich habe es getestet und Du hast Recht: Definiert man die Funktion add() außerhalb, funktioniert es richtig. Das hatte ich zunächst nicht erwartet, sondern dass die Funktion mehrfach registriert wird, egal ob sie innerhalb oder außerhalb von startGame() liegt. Offenbar ist es jedoch so, dass die selbe Funktion nicht mehrfach registriert wird, auch wenn addEventListener() mehrfach aufgerufen wird.