Suche im Forum:
Suchen


Autor Nachricht
Beitrag25.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
Beitrag25.03.2012 um 19:25 (UTC)    
Titel:

Schau' mal hier:
http://de.selfhtml.org/javascript/objekte/window.htm#set_interval

Da steht etwas, was du übersehen hast.

Gruß,

TransInt
______________
Kein Support per PN - Im Forum hilft es allen!

Life is what happens while you are busy making other plans.
- John Lennon
Beitrag26.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.
Beitrag26.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
Beitrag26.03.2012 um 16:14 (UTC)    
Titel:

Hatt' ich auch schon probiert. Ging nicht.
Beitrag26.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
Beitrag26.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
Beitrag27.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).
Beitrag27.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. Wink

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 Very Happy ).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
Beitrag28.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!
Beitrag28.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. Very Happy

bulitipps hat Folgendes geschrieben:
weil mir display jegliche Tabellen-Ordnung zerstört.

Das liegt mit Sicherheit nicht an display. Wink

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
Beiträge der letzten Zeit anzeigen:   


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de