次の機能がFirefoxで正しく機能するのに、Chromeでは機能しないのはなぜですか?.eachループの戻り値を「true」に変更すると、FirefoxではなくChromeで機能します。何が得られますか?
(機能しない場合は、正しい日、時間などに対して秒単位でのみ返されます。)
function time_remaining(expire_time)
{
var now = new Date().getTime()/1000,
time_left = expire_time - now,
time_left_str = '0 seconds';
if (time_left < 1) {
return time_left_str;
}
var a = {};
a[ 12 * 30 * 24 * 60 * 60 ] = 'year',
a[ 30 * 24 * 60 * 60 ] = 'month',
a[ 24 * 60 * 60 ] = 'day',
a[ 60 * 60 ] = 'hour',
a[ 60 ] = 'minute',
a[ 1 ] = 'second';
$.each(a, function (secs, str) {
var d = time_left / secs;
if (d >= 1) {
var r = Math.round(d);
time_left_str = r + ' ' + str + ((r > 1) ? 's' : '');
return false;
}
});
return time_left_str;
}