function timeDown(second) {
var month = '', day = '', hour = '', minute = '';
if (second >= 86400 * 30) {
month = Math.floor(second / (86400 * 30)) + '月';
second = second % (86400 * 30);
}
if (second >= 86400) {
day = Math.floor(second / 86400) + '天';
second = second % (86400);
}
if (second >= 3600) {
hour = Math.floor(second / 3600) + '小时';
second = second % 3600;
}
if (second >= 60) {
minute = Math.floor(second / 60) + '分';
second = second % 60;
}
if (second > 0) {
second = second ? second + '秒' : '';
}
return month + day + hour + minute + second;
}
如果想显示倒计时效果,可以使用如下代码调用:
<!-- 引入jquery -->
<script>
$(function () {
var second = 10000;
$('.remain_time').html(timeDown(second));
setInterval(function () {
second--;
$('.remain_time').html(timeDown(second));
}, 1000);
})
</script>
<span class="remain_time"></span>
jquery插件形式:
$.fn.timeDown = function (opt) {
var second = opt.second;
var tip = '已过期';
var $this = this;
self._timeDown = function (second) {
var month = '', day = '', hour = '', minute = '';
if (second >= 86400 * 30) {
month = Math.floor(second / (86400 * 30)) + '月';
second = second % (86400 * 30);
}
if (second >= 86400) {
day = Math.floor(second / 86400) + '天';
second = second % (86400);
}
if (second >= 3600) {
hour = Math.floor(second / 3600) + '小时';
second = second % 3600;
}
if (second >= 60) {
minute = Math.floor(second / 60) + '分';
second = second % 60;
}
if (second > 0) {
second = second ? second + '秒' : '';
} else {
return tip;
}
return month + day + hour + minute + second;
};
$this.html(self._timeDown(second));
setInterval(function () {
second--;
$this.html(self._timeDown(second));
}, 1000)
};
// 使用方式
$('.remain_time').timeDown({second:1000,tip:'已过期'})