Я хотел бы обратный отсчет времени, который является разницей между двумя моментами времени от php, результатом является метка времени.JavaScript обратный отсчет от разницы времени php
{var $time = new \DateTime()}
<div class="date" data-date="{= ($time2->getTimestamp() - $time->getTimestamp())*1000}">
В дате данных у меня есть разница во времени [отметка времени]. Теперь я хочу отснять это время. Я получаю эту информацию из HTML в JS.
$(function() {
$(".date").each(function(){
time = $(this).data('date');
$.countdown($(this).children(".countdown"), time);
});
});
Принятый код не работает должным образом.
jQuery.countdown = function(selector, datevalue) {
var amount = datevalue;
// catch past dates
if(amount < 0){
$(selector).html("Done");
}
// date is in the future, calculate the diff
else{
days=0;hours=0;mins=0;secs=0;out="";
amount = Math.floor(amount/1000);//kill the "milliseconds" so just secs
days=Math.floor(amount/86400);//days
amount=amount%86400;
hours=Math.floor(amount/3600);//hours
amount=amount%3600;
mins=Math.floor(amount/60);//minutes
amount=amount%60;
secs=Math.floor(amount);//seconds
//if(days != 0){out += days +" day"+((days!=1)?"s":"")+", ";}
//if(days == 0) {
if(days != 0 || hours != 0){out += ((hours<10)?"0":"") + hours +":";}
if(days != 0 || hours != 0 || mins != 0){out += ((mins<10)?"0":"") + mins +":";}
out += ((secs<10)?"0":"") + secs;
$(selector).html(out);
//}
// run it all again
setTimeout(function() {
$.countdown(selector, datevalue);
}, 1000);
}
};
Время от JS находится в нужном месте, но оно не обращает внимание.
Как следует, что работа, если вы даете тайм-аут на сумму 1 секунду? –
'time = parseInt ($ (this) .data ('date'), 10);' возможно? – mplungjan
, и если вы удалите 'amount = Math.floor (количество/1000); // убейте« миллисекунды », так что просто secs', вы можете удалить * 1000 с вашего php – mplungjan