• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
ایراد کوچیک در تایمر معکوس
#1
با سلام
من یک تایمر معکوس نوشتم که بر اساس تاریخ داده شده بهش معکوس عمل میکنه

فقط یک موردی داره تا زمانیکه تایم کنونی رو از کلاینت میخونه هیچ مشکلی نداره اما زمانیکه تایم کنونی رو از سرور بهش میدم گیر میکنه
ممنون میشم بگید ایراد از کجاست ؟

کد:
function timer()
{
var future="2014/9/11 10:50:10";
var newtime=new Date(future);
var nowtime= new Date();

var out="";

var diff=newtime.getTime()- nowtime.getTime();

diff=Math.floor(diff/1000);

day=Math.floor(diff/86400);
diff=diff%86400;

hour=Math.floor(diff/3600);
diff=diff%3600;

minu=Math.floor(diff/60);
diff=diff%60;

sec=Math.floor(diff);




if(day !=0)
{
out+=day +" "+ ((day==1)?"day":"days") +", ";
}
if(hour !=0)
{
out+=hour +" "+ ((hour==1)?"hour":"hours") +", ";
}


out+=minu +" "+ ((minu==1)?"min":"mins") +", ";


out+=sec +" "+ ((sec==1)?"sec":"secs");


document.getElementById('showtime').innerHTML=out;


setTimeout(function(){timer();},1000);

}


window.onload=function(){
timer();
}

زمانیکه تاریخ جدید رو میخوام از سرور بخونه گیر میکنه
از این کد استفاده میکنم برای گرفتن تایم سرور


کد:
var nowtime= newDate(<?php echo date('Y/m/d H:i:s a'); ?>);
  پاسخ
تشکر شده توسط :
#2
کد:
var future="<?php echo date('Y/m/d H:i:s',strtotime("+1 day")); ?>";
var newtime=new Date(future);
var nowtime= new Date();
هر چیزی که در جستن آنی آنی...
غایب
  پاسخ
تشکر شده توسط :
#3
دوست گرامی من با زمان ست شده که کاری ندارم من میخوام تاریخ و تایم کنونی رو از سرور بخونه
یعنی این
کد:
var nowtime= new Date();

نه

کد:
var future
  پاسخ
تشکر شده توسط :
#4
کد:
var nowtime= new Date(<?php echo time("now") ?>000);
هر چیزی که در جستن آنی آنی...
غایب
  پاسخ
تشکر شده توسط :
#5
بازم جواب نمیده یعنی تایم رو درست میده ولی تایمر معکوس عمل نمیکنه و متوقف می ایسته
  پاسخ
تشکر شده توسط :
#6
توضیح بیشتر
  پاسخ
تشکر شده توسط :
#7
(۱۳۹۳ شهریور ۲۰, ۰۵:۳۹ ب.ظ)ImanAzadi نوشته: بازم جواب نمیده یعنی تایم رو درست میده ولی تایمر معکوس عمل نمیکنه و متوقف می ایسته
.این که متوقف هست که مشخصه چون یه مقدار از سرور خودنی ریختی تو یه متغیر و اون مقدار تغییر نمی کنه در حالی که nowtime باید تغییر کنه یعنی در هر اجرای تابع زمان همون لحظه رو حساب کنه نه زمان موقع ارسال از سرور ! یعنی در هر اجرای تابع که هر یک ثانیه است باید یک ثانیه به nowtime که از سرور خودنی اضافه کنی :
کد:
nowtime=new Date("<?php echo date('Y/m/d H:i:s'); ?>");
function timer()
{
var future="2014/9/11 10:50:10";
var newtime=new Date(future);
nowtime=new Date(nowtime.getTime()+1000);

var out="";

var diff=newtime.getTime()- nowtime.getTime();

diff=Math.floor(diff/1000);

day=Math.floor(diff/86400);
diff=diff%86400;

hour=Math.floor(diff/3600);
diff=diff%3600;

minu=Math.floor(diff/60);
diff=diff%60;

sec=Math.floor(diff);




if(day !=0)
{
out+=day +" "+ ((day==1)?"day":"days") +", ";
}
if(hour !=0)
{
out+=hour +" "+ ((hour==1)?"hour":"hours") +", ";
}


out+=minu +" "+ ((minu==1)?"min":"mins") +", ";


out+=sec +" "+ ((sec==1)?"sec":"secs");


document.getElementById('showtime').innerHTML=out;


setTimeout(function(){timer();},1000);

}


window.onload=function(){
timer();
}
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان