Seite 1 von 5

Countdown

Verfasst: 21.08.2009, 13:05
von Century
Wie man einen Countdown, der z.B. von 120 runterzählt macht erfährt man ja im alten Webkicks Forum. Was ich jetzt aber brauchen bzw. gerne haben möchte ist, dass der Countdown, wenn man z.B. 120 einstellt nicht 120,119,118, usw. runterzählt sondern in "Minuten", also 02:00, 01.59, 01.58, usw. Ich hoffe das ist machbar.

Re: Countdown

Verfasst: 29.08.2009, 23:00
von Century
Kann da jemand helfen?

Re: Countdown

Verfasst: 03.09.2009, 18:34
von Century
Bitte, wäre nett.

Re: Countdown

Verfasst: 03.09.2009, 21:40
von 1. FC Keller
es wäre gut wenn du das thread aus dem alten forum mal verlinken würdest ;-)

Re: Countdown

Verfasst: 03.09.2009, 21:54
von hamigra
Er meint bestimmt DAS :wink:

Re: Countdown

Verfasst: 03.09.2009, 22:14
von 1. FC Keller
damit kann ich doch was anfangen :)

Code: Alles auswählen

<span id="countdown"></span><script language="javascript">var endZeit = Date.parse(new Date)+(190*1000); function countDown(){var jetztZeit=Date.parse(new Date()); a=parseInt((endZeit-jetztZeit)/1000); min=parseInt(a/60); sec=a%60; min=min<10?("0"+min):min; sec=sec<10?("0"+sec):sec; document.getElementById("countdown").innerHTML=min+":"+sec; if(a>0)setTimeout(countDown, 100);} countDown();</script>
die 190 ist die Zeit in sekunden die runter läuft... kann natürlich angepasst werden.

Re: Countdown

Verfasst: 03.09.2009, 23:00
von hamigra
Klappt - hat aber einen Fehler.
Wenn der Befehl eingegeben wurde und dann wieder eingegeben wird, läuft der Countdown an derselben Stelle an der er bei der ersten Eingabe lief (neben dem Nick). Der Nick steht zwar bei jeder neuen Eingabe da, aber es steht nichts daneben.
1. eingeloggt - 'test' geschrieben - Countdownbefehl ausgeführt
Bild

2. Countdownbefehl erneut eingegeben
Bild

3. Countdownbefehl erneut eingegeben
Bild

4. Countdownbefehl erneut eingegeben
Bild

5. Countdown auf '0' laufen lassen
Bild

6. Countdownbefehl erneut eingegeben
Bild

Re: Countdown

Verfasst: 03.09.2009, 23:17
von 1. FC Keller
wenn man es in einem chatbefehl nutzen will und damit das script mehrfach vorkommen kann muss man dafür sorge tragen dass die ids eindeutig sind...

Code: Alles auswählen

<script language="javascript">var CountDownID=parseInt(Math.random()*1000); document.write('<span id="countdown'+CountDownID+'"></span>'); var endZeit = Date.parse(new Date)+(190*1000); function countDown(){var jetztZeit=Date.parse(new Date()); a=parseInt((endZeit-jetztZeit)/1000); min=parseInt(a/60); sec=a%60; min=min<10?("0"+min):min; sec=sec<10?("0"+sec):sec; document.getElementById("countdown"+CountDownID).innerHTML=min+":"+sec; if(a>0)setTimeout(countDown, 100);} countDown();</script>
man kann mit dieser version keine 2 countdowns gleichzeitig laufen lassen... wenn das wirklich notwendig wäre müsst ich mir noch was einfallen lassen.

Re: Countdown

Verfasst: 04.09.2009, 15:52
von Century
Der Code ist zu lang und passt leider nicht in das Feld für die Chatbefehle. Wie muss ich da jetzt vorgehen?

Re: Countdown

Verfasst: 04.09.2009, 16:48
von 1. FC Keller
Dann musst du einen Teil in die Ankündigung auslagern.

in die Ankündigung (normale und Gastankündigung):

Code: Alles auswählen

<script language="javascript">function countDown(){var jetztZeit=Date.parse(new Date()); a=parseInt((endZeit-jetztZeit)/1000); min=parseInt(a/60); sec=a%60; min=min<10?("0"+min):min; sec=sec<10?("0"+sec):sec; document.getElementById("countdown"+CountDownID).innerHTML=min+":"+sec; if(a>0)setTimeout(countDown, 100);} </script>
und in den Chatbefehl das:

Code: Alles auswählen

<script language="javascript">var CountDownID=parseInt(Math.random()*1000); document.write('<span id="countdown'+CountDownID+'"></span>'); var endZeit = Date.parse(new Date)+(190*1000);countDown();</script>
Hier musst du statt der 190 wieder die Zahl in Sekunden einspeichern und kannst dann normal per "/chatbefehl" den Countdown starten.

wenn die Sekunden-Zahl variabel sein soll müsste diese Variante als Chatbefehl funktionieren (in die Ankündigung kommt der gleiche Code wie oben):

Code: Alles auswählen

<script language="javascript">var CountDownID=parseInt(Math.random()*1000); document.write('<span id="countdown'+CountDownID+'"></span>'); var endZeit = Date.parse(new Date)+(parseInt(strip_tags('%user%'))*1000);countDown();</script>
dann könntest du den Countdown per "/chatbefehl ZAHL" starten (ZAHL durch Zeit in Sekunden ersetzen)

ich kann allerdings mangels zeit gerade nicht testen.

Re: Countdown

Verfasst: 04.09.2009, 19:53
von TauchBlubba
ich kann allerdings mangels zeit gerade nicht testen.
Funkt, Danke :wink:

Re: Countdown

Verfasst: 05.09.2009, 18:58
von TauchBlubba
Ich hasse Doppelposts :|

Eine Frage, der Count scrollt ja oben raus. Könnte man den irgendwie festkleben bis er auf null steht oder per "Ereignis-Fenster" öffnen?

Er ist nur fürs Team bei mir.

grüße
Chrissi

Re: Countdown

Verfasst: 11.10.2009, 14:39
von InvaderX
Vieleicht könnte man den ja im "Derzeit im Raum" Frame unten links runter zählen lassen.

Re: Countdown

Verfasst: 12.10.2009, 23:14
von 1. FC Keller
das einfachste ist per CSS.. position:fixed
Allerdngs klappt das nicht in allen browsern.

Code: Alles auswählen

<script language="javascript">var CountDownID=parseInt(Math.random()*1000); document.write('<span id="countdown'+CountDownID+'" style='position:fixed;right:5px;bottom:5px;'></span>'); var endZeit = Date.parse(new Date)+(parseInt(strip_tags('%user%'))*1000);countDown();</script>

Re: Countdown

Verfasst: 14.10.2009, 11:21
von InvaderX
Mit diesem Chatbefehl wird die Uhrzeit festgetackert unten Rechts im Chatstream.
Die Farbe könnt ihr ja anpassen bei background-color:#FFFFE0

Getestet im Firefox, Chrome und Opera geht. Im IE geht es bei mir nicht (hab ne alte Version)

Code: Alles auswählen

<div style="position:fixed; bottom:10px; right:10px; background-color:#FFFFE0"><script language="javascript">var CountDownID=parseInt(Math.random()*1000); document.write('<span id="countdown'+CountDownID+'"></span>'); var endZeit = Date.parse(new Date)+(parseInt(strip_tags('%user%'))*1000);countDown();</script></div>
//Edit nun funktionierts