Authored by 张丽霞

订单详情添加倒计时JS文件

Signed-off-by: 🍓 <lixia.zhang@yoho.cn>
... ... @@ -8,104 +8,102 @@ var $ = require('jquery'),
lazyLoad = require('yoho.lazyload'),
Hammer = require('yoho.hammer'),
dialog = require('./dialog'),
tip = require('../plugin/tip');
var orderId = $('#order-detail').data('id');
var $countDownHours = $('.hours'),
$countdownContainer = $('.count-down');
var optHammer;
downCount($countDownHours.text());
tip = require('../plugin/tip'),
orderId = $('#order-detail').data('id'),
$countDownHours = $('.hours'),
$countdownContainer = $('.count-down'),
optHammer;
lazyLoad({
try_again_css: 'order-failure'
});
function downCount (options, callback) {
var settings = new Date(options);
function downCount(options) {
var settings = new Date(options),
targetDateFunction = function() {
var orderDate = new Date(settings),
// Throw error if date is not set
if (!settings) {
$.error('Date is not defined.');
}
// Throw error if date is set incorectly
if (!Date.parse(settings)) {
$.error('Incorrect date format, it should look like this, 12/24/2012 12:00:00.');
}
//结束时间在下单时间加两小时
utc = orderDate.getTime() + 7200000,
newDate = new Date(utc);
// Save container
var container = this;
var targetDate = function () {
var order_date = new Date(settings);
//结束时间在下单时间加
var utc = order_date.getTime() + 7200000;
var new_date = new Date(utc)
return new_date;
};
return newDate;
},
/**
* Change client's local date to match offset timezone
* @return {Object} Fixed Date object.
*/
var currentDate = function () {
currentDateFunction = function() {
// get client's current date
var date = new Date();
// turn date to utc
var utc = date.getTime();
// set new Date object
// var new_date = new Date(utc + (3600000*settings.offset))
return utc;
};
/**
* Main downCount function that calculates everything
*/
function countdown () {
var target_date = targetDate(),// set target date
current_date = currentDate(); // get fixed current date
// Throw error if date is not set
if (!settings) {
$.error('Date is not defined.');
}
// difference of dates
var difference = target_date - current_date;
// Throw error if date is set incorectly
if (!Date.parse(settings)) {
$.error('Incorrect date format, it should look like this, 12/24/2012 12:00:00.');
}
// if difference is negative than it's pass the target date
if (difference < 0) {
// stop timer
clearInterval(interval);
/**
* Main downCount function that calculates everything
*/
function countdown() {
var targetDate = targetDateFunction(),// set target date
currentDate = currentDateFunction(), // get fixed current date
difference = targetDate - currentDate,// difference of dates
// basic math variables
_second = 1000,
_minute = _second * 60,
_hour = _minute * 60,
_day = _hour * 24,
interval,
days,
hours,
minutes,
seconds;
// if difference is negative than it's pass the target date
if (difference < 0) {
// stop timer
clearInterval(interval);
return;
}
if (callback && typeof callback === 'function') callback();
// calculate dates
days = Math.floor(difference / _day),
hours = Math.floor((difference % _day) / _hour),
minutes = Math.floor((difference % _hour) / _minute),
seconds = Math.floor((difference % _minute) / _second);
// fix dates so that it will show two digets
days = (String(days).length >= 2) ? days : '0' + days;
hours = (String(hours).length >= 2) ? hours : '0' + hours;
minutes = (String(minutes).length >= 2) ? minutes : '0' + minutes;
seconds = (String(seconds).length >= 2) ? seconds : '0' + seconds;
// set to DOM
$countdownContainer.removeClass('hide');
$countDownHours.text('剩余' + hours + ':' + minutes + ':' + seconds);
}
return;
}
// start
setInterval(countdown, 1000);
}
// basic math variables
var _second = 1000,
_minute = _second * 60,
_hour = _minute * 60,
_day = _hour * 24;
// calculate dates
var days = Math.floor(difference / _day),
hours = Math.floor((difference % _day) / _hour),
minutes = Math.floor((difference % _hour) / _minute),
seconds = Math.floor((difference % _minute) / _second);
// fix dates so that it will show two digets
days = (String(days).length >= 2) ? days : '0' + days;
hours = (String(hours).length >= 2) ? hours : '0' + hours;
minutes = (String(minutes).length >= 2) ? minutes : '0' + minutes;
seconds = (String(seconds).length >= 2) ? seconds : '0' + seconds;
// set to DOM
$countdownContainer.removeClass('hide');
$countDownHours.text('剩余' + hours + ':' + minutes + ':' + seconds);
};
// start
var interval = setInterval(countdown, 1000);
};
downCount($countDownHours.text());
//订单删除
optHammer = new Hammer(document.getElementsByClassName('opt')[0]);
... ...