Javascript 倒数计时器,如wowcher/ebay
我使用Laravel作为框架,在数据库中存储一个日期,如下所示: 例如,2014年7月16日 那么,我如何才能创建一个倒计时到这个日期,这是在未来Javascript 倒数计时器,如wowcher/ebay,javascript,php,laravel-4,Javascript,Php,Laravel 4,我使用Laravel作为框架,在数据库中存储一个日期,如下所示: 例如,2014年7月16日 那么,我如何才能创建一个倒计时到这个日期,这是在未来 非常感谢帮助/示例。我的旧代码和工作示例: 功能计数器(字段、时间){ //访问html元素 var counter_field=document.getElementById(字段); //目的地日期/时间 var date_stop=time;//新日期(2013,6,7,0,0,0,0); //每秒呼叫计数功能(1000毫秒) var计数循环
非常感谢帮助/示例。我的旧代码和工作示例:
功能计数器(字段、时间){
//访问html元素
var counter_field=document.getElementById(字段);
//目的地日期/时间
var date_stop=time;//新日期(2013,6,7,0,0,0,0);
//每秒呼叫计数功能(1000毫秒)
var计数循环=设置间隔(计数,1000);
//计数函数
函数计数()
{
//当前日期/时间
var date_now=新日期();
//正文
var text=“结束”;
如果(日期\停止==null){
var text=“-您忘记了日期/时间-”;
}否则{
//将毫秒转换为秒
var diff=数学舍入((截止日期)/1000);
//还在未来
如果((0
2014.07.27 21:00:00=
当这一次来临时,你想做什么?你能使用像cron
这样的工具来安排后台作业吗?是的,cron可能是一个优势如果你有它,那么你只需要一个脚本来经常运行查询,比如DELETE FROM x,其中product_过期在计时器完成00:00:00后寻找类似计时器的东西,广告被删除。这很好,但我基本上想从DB获得数据,比如:2014年7月16日,然后倒计时到这个日期,一旦到了这个日期,然后从视图中删除产品。使用PHP生成行计数器(“field_1”,新日期(2014,5,27,16,0,0,0))
在unsetInterval
之前放置一些从视图中删除元素的代码。我换了密码作为回答。
<!DOCTYPE html>
<html lang="pl">
<head>
<script>
function counter(field, time) {
// access to html element
var counter_field = document.getElementById(field);
// destination date/time
var date_stop = time; //new Date(2013,6,7,0,0,0,0);
// call counting function every second (1000 ms)
var counting_loop = setInterval(counting, 1000);
// counting function
function counting()
{
// current date/time
var date_now = new Date();
// text
var text = "THE END";
if( date_stop == null ) {
var text = "- you forget date/time -";
} else {
// convert miliseconds to seconds
var diff = Math.round((date_stop-date_now)/1000);
// still in future
if( (0 < diff) )
{
// convert diff to days, hours, minutes, seconds
// seconds
var seconds = diff % 60;
diff = (diff-seconds) / 60;
if( seconds < 10 ) seconds = "0" + seconds;
// minutes
var minutes = diff % 60;
diff = (diff-minutes) / 60;
if( minutes < 10 ) minutes = "0" + minutes;
// hours
var hours = diff % 24;
diff = (diff-hours) / 24;
if( hours < 10 ) hours = "0" + hours;
// days
var days = diff;
if( days < 10 ) days = "0" + days;
// convert to text
text = " <b>days</b> "+days+" <b>hours</b> "+hours+":"+minutes+":"+seconds;
} else {
// removing counter
counter_field.parentElement.removeChild(counter_field);
//
// here put code to remove element from view
//
unsetInterval(counting_loop);
}
}
// put text into html
counter_field.innerHTML = text;
}
}
window.onload = function()
{
counter("field_1", new Date(2014,5,27,16,0,0,0));
counter("field_2", new Date(2014,6,27,21,0,0,0));
}
</script>
</head>
<body>
2014.06.27 16:00:00 = <span id="field_1"></span><br/>
2014.07.27 21:00:00 = <span id="field_2"></span><br/>
</body>
</html>