ورود

View Full Version : مشکل این تایمر چیه؟



white tower
پنج شنبه 11 مهر 1392, 09:12 صبح
این تایمر که نوشتم تو همه مرورگرها تست کردم کار می کنه جز اپرا.
توی اپرا از 8 ثانیه بالاتر نمیره و دوباره صفر میشه.یعنی تا 00:08 میره بعد دوباره صفر میشه.اساتید یه نگاه بندازید ببینید مشکلش چیه؟


function timer_call(){
var str = document.getElementById('timer').innerHTML;
t = setInterval(function(){
var part = str.split(':');
part[0] = parseInt(part[0]);
part[1] = parseInt(part[1]);
part[1]++;
if(part[1] > 59){
part[0]++;
part[1] = 0;
}
if(part[0] < 10)
part[0] = "0" + part[0];
if(part[1] < 10)
part[1] = "0" + part[1];
span.innerHTML = part[0] + ":" + part[1];
},1000);
}

jalil_gh
پنج شنبه 11 مهر 1392, 09:48 صبح
مشکل تو تابع parseInt هست که تو مرورگرهای قدیمی و بعضی از مرورگرا وقتی که رشته ارسالی بهش به صفر شروع میشه مبنا رو به جای ۱۰ ، ۸ در نظر میگیره.
فکر کنم تو ES5 این مشکل بر طرف شده.
شما کدتون رو به این صورت اصلاح کنید.
part[0] = parseInt(part[0], 10);