2017-09-16 3 views
0

Ok, ich benutze http://keith-wood.name/ Countdown-Plugin und verwende eine der Funktionen für Unix-Zeitstempel, aber brauche Hilfe.Wie macht man einen globalen Countdown?

Ich werde mehrere Countdowns auf der Website haben, aber die Art, wie ich es funktioniert habe, muss ich jeden Timer wie folgt deklarieren.

var crimeTime = new Date(); 
crimeTime.setTime(<?php echo $crime_time * 1000; ?>); 
$('#Crimes').countdown({until: crimeTime, compact: true, format: 'HMS'}); 

und haben die Zeile für jeden Countdown zu wiederholen ist es eine Möglichkeit, einen Timer global zu machen, so zum Beispiel ...

<div class="countdown"><?php echo $unixtimestamp;?></div> 

Ich habe umsah und versucht, viele aber sie entweder nicht arbeite überhaupt oder arbeite nicht mit Unix-Timestamps richtig.

ein anderes Problem ist, wie man den Timer zum automatischen Start Countdown auf ein Submit bekommen?

Zum Beispiel kann nur einmal pro 1min eine Aktivität ausgeführt werden. Der Timer zeigt 00:00:00 an. Einmal klicken auf Senden für eine Aktivität bleibt 00:00:00 wird nicht zu 00:01:00 geändert, es sei denn, die Seite ist Nach dem Senden aktualisiert.

Danke.

+0

https://stackoverflow.com/questions/10492126/trying-to-use-jquery-countdown-with-unix-timestamp-from-php – powerfade917

Antwort

0

Sie können gehen in PHP/HTML auf diese Weise:

<div class="countdown" data-time="<?=$unixtimestamp;?>"></div> 

Und in jQuery Sie tun:

$('.countdown').each(function(i) { 
    var thisCounter = $(this); 
    var thisTime = thisCounter.data('time'); 
    var crimeTime = new Date(); 
    crimeTime.setTime(thisTime); 
    thisCounter.countdown({until: crimeTime, compact: true, format: 'HMS'}); 
}); 
+0

Sorry, wenn ich nicht mehr spezifisch war, als wenn ich globale bedeuten/Mehre ich verschiedene Timer für verschiedene Aktivitäten, so müsste ich noch jede Aktivität definieren? So wie Crimetime ist ein Timer und gtatime ist ein anderer, aber wollen eine Möglichkeit, beide anzuzeigen, ohne mehrere Zeilen von jquery schreiben zu müssen. – BoxyGILLETT

+0

@Boxy was meinst du mit dem Anzeigen mehrerer Timer, ohne mehrere Codezeilen zu schreiben? Machen Sie einfach eine Funktion und nennen Sie es –

+0

Ich mag mehr als einen Unix-Timestamp in der Datenbank für verschiedene Dinge gespeichert, aber wollen sie auf einer Seite angezeigt, ohne ständig den gleichen Code immer wieder zu schreiben, aber nur zu einem anderen wie in meiner Frage zu bearbeiten Post. Ich werde sehen, was Sie setzen und ein Spiel nach dem Abendessen haben :) – BoxyGILLETT

0

Wenn Sie einfach einen Zeitzähler müssen (Zeit in realtime erhalten) können Sie machen eine globale und einfach darauf verweisen:

timer = new Date().getTime(); // time in miliseconds 
timerHolder = setInterval(
() => { 
    timer+= 1000; 
    }, 1000 
); 

Dann die Zeit lesen Sie tun können: new Date(timer)