![]() |
[JS] keine Änderung der HTML-Seite
ich habe ein problem mit jeavascript:
Beim folgenden Code wird "$next_building_ready" als php-variable übergeben! Datei: "index.php"
Code:
Die datei "javascript.js" sieht so aus:
<html>
<head> <script src="javascript.js" type="text/javascript"> </script> </head> <body topmargin="0" leftmargin="0" class="body" onload="beimstart('.$next_building_ready.')"> <span id="building_ready">1234567890</span> <span id="servertime">12:34:56</span> </body> </html>
Code:
doch irgendwie wird beim aufruf der datei "index.php" nichts geändert?!
function zeit_aktuell() {
var Jetzt = new Date(); var Tag = Jetzt.getDate(); var Monat = Jetzt.getMonth() + 1; var Jahr = Jetzt.getYear(); var Stunden = Jetzt.getHours(); var Minuten = Jetzt.getMinutes(); var Sekunden = Jetzt.getSeconds(); if (Tag < 10) { Tag = "0" + Tag; } if (Monat < 10) { Monat = "0" + Monat; } if (Jahr < 2000) { Jahr = Jahr + 1900; } if (Stunden < 10) { Stunden = "0" + Stunden; } if (Minuten < 10) { Minuten = "0" + Minuten; } if (Sekunden < 10) { Sekunden = "0" + Sekunden; } var Ausg = Tag + "." + Monat + "." + Jahr + " - " + Stunden + ":" + Minuten + ":" + Sekunden; document.getElementById('servertime').innerHTML = Ausg; window.setTimeout("zeit_aktuell()", 1000); } function building_ready(building_fertig) { if (building_fertig > 0) { var Stunden = floor(building_fertig / 3600); var rest = verbleibend - (Stunden * 3600); var Minuten = floor(rest / 60); var Sekunden = rest - (Minuten / 60); var Ausg = Stunden + ":" + Minuten + ":" + Sekunden; document.getElementById('building_ready').innerHTML = Ausg; window.setTimeout("building_ready(" + building_fertig - 1 + ")", 1000); } else { location.reload(); } } function beimstart(building_fertig) { zeit_aktuell(); building_ready(building_fertig); } nun meine frage: was muss ich ändern? |
Re: [JS] keine Änderung der HTML-Seite
Müsste das nich so heissen :gruebel:
Index.php
Code:
<html>
<head> <script src="javascript.js" type="text/javascript"> </script> </head> <body topmargin="0" leftmargin="0" class="body" onload="beimstart('<? echo $next_building_ready; >?')"> <span id="building_ready">1234567890</span> <span id="servertime">12:34:56</span> </body> </html> |
Re: [JS] keine Änderung der HTML-Seite
ja, stimmt schon.
habe wohl vergesen zu schreiben, dass die index.php komplett mit echo ausgegeben wird.
Code:
<?PHP
echo '<html> <head> <script src="javascript.js" type="text/javascript"> </script> </head> <body topmargin="0" leftmargin="0" class="body" onload="beimstart('.$next_building_ready.')"> <span id="building_ready">1234567890</span> <span id="servertime">12:34:56</span> </body> </html>'; ?> |
Re: [JS] keine Änderung der HTML-Seite
Muss man Strings nich in '' übergeben?
Code:
<?PHP
echo "<html> <head> <script src=\"javascript.js\" type=\"text/javascript\"> </script> </head> <body topmargin=\"0\" leftmargin=\"0\" class=\"body\" onload=\"beimstart('$next_building_ready')\"> <span id=\"building_ready\">1234567890</span> <span id=\"servertime\">12:34:56</span> </body> </html>"; ?> |
Re: [JS] keine Änderung der HTML-Seite
Nein, muss man nicht.
Bei Quotes werden die Strings einfach nur nicht extra geparst (Variablenersetzung), bei Doublequotes schon ;) air |
Re: [JS] keine Änderung der HTML-Seite
Was genau soll denn der Code machen (Vor allem die 2. Funktion)? :gruebel:
Aus Erfahrung kann ich übrigens sagen, dass Location.Reload nicht immer den gewünschten Effekt erziehlt ;-) |
Re: [JS] keine Änderung der HTML-Seite
die function "building_ready(building_fertig)" soll einen wert "building_fertig" in eine "Stunden:Minuten:Sekunden" angeben und gleichzeitig einen countdown darstellen, sodass nacheinander etwa folgendes erscheind:
"10:10:10" "10:10:09" "10:10:08" "10:10:07" "10:10:06" "10:10:05" "10:10:04" "10:10:03" "10:10:02" "10:10:01" "10:10:00" "10:09:59" |
Re: [JS] keine Änderung der HTML-Seite
Deine building_ready Funktion hat da ein paar Fehler, ich hab sie mal ausgebessert ... damit wird es dann auch gehen ;)
Code:
function building_ready(building_fertig) {
if (building_fertig > 0) { var Stunden = Math.floor(building_fertig / 3600); var Rest = building_fertig - Stunden * 3600; var Minuten = Math.floor(Rest / 60); var Sekunden = Rest - Minuten * 60; var Ausg = Stunden + ":" + Minuten + ":" + Sekunden; document.getElementById('building_ready').innerHTML = Ausg; window.setTimeout("building_ready(" + (building_fertig-1) + ")", 1000); } else { location.reload(); } } |
Re: [JS] keine Änderung der HTML-Seite
danke
thema kann geschlossen werden - problem behoben! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:55 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz