Autor |
Nachricht |
-
bulitipps
|
25.03.2012 um 14:58 (UTC) Titel: Ein Problem mit setInterval |
|
|
Hallo, zusammen,
bin immer noch fleißig am Murksen. Jetzt habe ich folgendes Problem: Ich habe eine Funktion, die stetig wiederholt werden soll. Also habe ich folgendes verfasst:
Code:
<script type="text/javascript">
function zeiten(){
blabla
}
window.setInterval("zeiten()", 500);
</script>
Die Funktion an sich stimmt, das hab ich bereits festgestellt. Aber warum wird sie nicht alle halbe Sekunde ausgeführt?
Bin für jede Hilfe dankbar!
Zuletzt bearbeitet von bulitipps am 25.03.2012, 17:01, insgesamt 2-mal bearbeitet
|
|
↑
|
|
|
|
|
↑
|
|
|
-
bulitipps
|
26.03.2012 um 08:34 (UTC) Titel: |
|
|
Okay... jetzt sieht es mehr so aus:
Code: <script type="text/javascript">
var aktiv=window.setInterval("zeiten()", 500);
function zeiten(){
blabla
}
</script>
Aaaaaber... funktionieren tut's leider trotzdem nicht. |
|
↑
|
|
|
|
26.03.2012 um 12:25 (UTC) Titel: |
|
|
Versuch's mal so rum:
Zitat: <script type="text/javascript">
function zeiten(){
blabla
}
var aktiv=window.setInterval("zeiten()", 500);
</script>
Gruß,
TransInt ______________ Kein Support per PN - Im Forum hilft es allen!
Life is what happens while you are busy making other plans.
- John Lennon
Zuletzt bearbeitet von transint am 26.03.2012, 13:51, insgesamt einmal bearbeitet
|
|
↑
|
|
|
-
bulitipps
|
26.03.2012 um 16:14 (UTC) Titel: |
|
|
Hatt' ich auch schon probiert. Ging nicht. |
|
↑
|
|
|
|
26.03.2012 um 19:40 (UTC) Titel: |
|
|
Wäre aber denke ich auch die bessere Variante.
Sicher, dass der Funktionscode valide ist? Was sagt die Fehlerkonsole?
Gruß,
TransInt ______________ Kein Support per PN - Im Forum hilft es allen!
Life is what happens while you are busy making other plans.
- John Lennon |
|
↑
|
|
|
|
26.03.2012 um 20:40 (UTC) Titel: |
|
|
Hallo,
das Interval in einer Variablen zu speichern ist nur nötig, wenn man das Interval handeln (z.B. irgendwann wieder löschen) möchte. Funktionieren muss es aber auch ohne.
Die Reihenfolge ist ebenfalls irrelevant. Ich sehe bei dir nur einen Fehler, das blabla!
=> Der Fehler liegt in der Funktion, die ausgeführt werden soll. Solange du uns diesen Code verheimlichst, werden wir dir also nicht helfen können.
EDIT: Ich habe gerade auch mal den Code aus deinem ersten post getestet und das blabla durch richtigen code ersetzt. Funktioniert einwandfrei. ______________ mfg
o-4-n
"If you’re incompetent, you can’t know you’re incompetent." - [David Dunning]
*** Die Suchfunktion ist KEINE tödliche Krankheit! ***
Eventplanung, Equipment, Zeltverleih, Catering
Zuletzt bearbeitet von o-4-n am 26.03.2012, 22:21, insgesamt 2-mal bearbeitet
|
|
↑
|
|
|
-
bulitipps
|
27.03.2012 um 16:38 (UTC) Titel: |
|
|
Vorneweg: Es ist nicht der beste Code, der je geschrieben wurde. Ziel ist es, bestimmte tbodys nacheinander zu den jeweiligen Anstoßzeiten der Bundesliga sichtbar werden zu lassen.
Code: <script type="text/javascript">
function zeiten(){
var jetzt = new Date();
var Zeit = jetzt.getTime() / 1000;
var fr = new Date(2012, 2, 23, 20, 30, 0);
var sa = new Date(2012, 2, 24, 15, 30, 0);
var to = new Date(2012, 2, 24, 18, 30, 0);
var sof = new Date(2012, 2, 25, 15, 30, 0);
var sos = new Date(2012, 2, 25, 17, 30, 0);
var fra = fr.getTime() / 1000;
var saa = sa.getTime() / 1000;
var toa = to.getTime() / 1000;
var sofa = sof.getTime() / 1000;
var sosa = sos.getTime() / 1000;
var Restfr = Math.floor(fra - Zeit);
var Restsa = Math.floor(saa - Zeit);
var Restto = Math.floor(toa - Zeit);
var Restsof = Math.floor(sofa - Zeit);
var Restsos = Math.floor(sosa - Zeit);
if (Restfr>0)
{document.getElementById("freitag").style.visibility="hidden"}
else
if (Restsa>0)
{document.getElementById("samstagfrueh").style.visibility="hidden"}
else
if (Restto>0)
{document.getElementById("topspiel").style.visibility="hidden"}
else
if (Restsof>0)
{document.getElementById("sonntagfrueh").style.visibility="hidden"}
else
if (Restsos>0)
{document.getElementById("sonntagspaet").style.visibility="hidden"};
}
var aktiv=window.setInterval("zeiten()", 500);
</script>
In diesem Fall sind die Zeiten zwar vom vergangenen Wochenende, aber natürlich hab ich zum Testen andere Werte eingesetzt... und das Ulkige ist, wenn ich die Seite zu der Zeit, wo es sich hätte ändern sollen, aktualisiert habe, war auch alles wie gewünscht. Ich wollte halt nur, dass es auch ohne Aktualisieren geht (auch wenn das sicherlich nicht weltbewegend ist). |
|
↑
|
|
|
|
27.03.2012 um 21:41 (UTC) Titel: |
|
|
bulitipps hat Folgendes geschrieben: und das Ulkige ist, wenn ich die Seite zu der Zeit, wo es sich hätte ändern sollen, aktualisiert habe, war auch alles wie gewünscht. Ich wollte halt nur, dass es auch ohne Aktualisieren geht (auch wenn das sicherlich nicht weltbewegend ist).
Das ist nicht ulkig, sondern das was du da programmiert hast.
Du hast da einen Denkfehler drin. Du blendest die Elemente aus, wenn der Termin zu dem Zeitpunkt, als die Seite aufgerufen wird noch nicht eingetreten ist. Soweit so gut. Nur änderst du das nicht mehr. Du setzt visibility nur alle 500ms erneut auf hidden (mehrfach hält besser ).Die tbodys bleiben also auf ewig unsichtbar, ausser du rufst die Seite auf, wenn der Termin bereits eingetreten ist (Wie bei dir geschehen).
Du musst sie, zu dem Termin sichtbar machen => visible wäre der richtige Wert.
Mache es von deiner ganzen Logik anderst rum. Blende die tbodys per CSS aus und per Javascript ein falls der Termin erreicht ist.
Ich würde übrigens display verwenden. Du könntest statt einem Interval auch einen timeout setzen, der dann nur einmal ausgeführt wird. Die Zeit bis zum Termin hast du ja, wenn der erst in ein paar Tagen ist, musst du auch nicht alle 500 ms prüfen, ob die paar Tage bereits um sind. ______________ mfg
o-4-n
"If you’re incompetent, you can’t know you’re incompetent." - [David Dunning]
*** Die Suchfunktion ist KEINE tödliche Krankheit! ***
Eventplanung, Equipment, Zeltverleih, Catering
Zuletzt bearbeitet von o-4-n am 28.03.2012, 00:43, insgesamt einmal bearbeitet
|
|
↑
|
|
|
-
bulitipps
|
28.03.2012 um 08:58 (UTC) Titel: |
|
|
Aaaaah. Jetzt läuft's. Hab allerdings an visibility festgehalten, weil mir display jegliche Tabellen-Ordnung zerstört. Vielen Dank! |
|
↑
|
|
|
|
28.03.2012 um 18:42 (UTC) Titel: |
|
|
bulitipps hat Folgendes geschrieben: Aaaaah. Jetzt läuft's.
Es lief vorher schon, hat aber nur nicht das gemacht, was du wolltest.
bulitipps hat Folgendes geschrieben: weil mir display jegliche Tabellen-Ordnung zerstört.
Das liegt mit Sicherheit nicht an display.
Danke für die Rückmeldung.
- CLOSED - ______________ mfg
o-4-n
"If you’re incompetent, you can’t know you’re incompetent." - [David Dunning]
*** Die Suchfunktion ist KEINE tödliche Krankheit! ***
Eventplanung, Equipment, Zeltverleih, Catering |
|
↑
|
|
|
|