您的位置:首页 > Web前端 > JavaScript

js 倒计时

2015-11-05 16:25 357 查看
//拍品JS

var U2PublishDataJS = {

CurrentUserId: 0,

PageSize: 5,

CurrentPageIndex: 1,

DisplayPageIndexLimit: 2,

IsFilter: true,

interval: [], //存放注册了倒计时事件的数据

FlagHour: -1, //-1表示全部显示,0表示24小时,1表示2小时,2表示1小时,3表示7分钟

LoadMiddlePublishListEvent: function () {

var data = {};

data["CurrentUserId"] = U2PublishDataJS.CurrentUserId;

data["PageSize"] = U2PublishDataJS.PageSize;

data["PageIndex"] = U2PublishDataJS.CurrentPageIndex;

data["IsFilter"] = U2PublishDataJS.IsFilter;

data["FlagHour"] = U2PublishDataJS.FlagHour;

/*

函数重载

1: 一个参数是品牌(只有一个品牌)

2: 俩个参数,第一个是品牌,同上,第二个是品牌下指定的车系

*/

if (arguments.length == 1) {

data["brandId"] = arguments[0];

}

$.ajax({

type: "POST",

url: "/ajax/ApolloU2Handler.ashx?opear=getNoBidInfo",

data: data,

dataType: "json",

success: function (response) {

if (response.IsSucceed) {

U2PublishDataJS.LoadMiddleContentDivEvent(response.Data)

}

},

error: function () {

}

});

},

LoadMiddleContentDivEvent: function (data) {

var _jsonData = $.parseJSON(data);

var _totalCount = _jsonData.TotalCount;

var _publishList = _jsonData.Data;

//如果又翻页,清空之前的所有倒计时事件

for (var i in U2PublishDataJS.interval) {

window.clearInterval(U2PublishDataJS.interval[i]);

};

//重新定义倒计时事件数据

U2PublishDataJS.interval = [];

//清空显示数据的容器

$("#div_publishList").html("");

var contentHtml = "";

$.each(_publishList, function (n, i) {

/*

中屏列表数据的接口返回值:

MastarBrandID => 品牌Id

CarBrandId => 车系Id

*/

var _matchFlag = eval(i.MatchStockCondition);

contentHtml = contentHtml +

"<div class='left_item'>" +

"<table class='itable' style='width: 100%;'>" +

"<tr onclick='openMiddleDetail(" + i.CarSourceId + ")'>" +

"<td class='mid_2s_t'>" + (i.CityName == null ? "--" : i.CityName) + "</td>" +

"<td class='mid_2s_t'>" + (i.LicensePlate == null ? "--" : i.LicensePlate) + "</td>" +

"<td class='mid_2s_t'>" + (i.RegisterDate == null ? "--" : i.RegisterDate.toString()) + "</td>" +

"<td class='mid_2s_t'>" + (i.CarName == null ? "--" : i.CarName) + "</td>" +

"<td class='mid_2s_t'>" + (typeof i.QuoteDateTime === 'string' ? i.QuoteDateTime.replace(" ", "<br />") : "--") + "</td>"+

"<td class='mid_2s_t'>" + (i.QuotePrice == null ? "--" : i.QuotePrice) + "</td>";

//" + (i.CountDownDateTime == null ? "" : (gethTime(i.CountDownDateTime.toString().trim()) + ":" + getmTime(i.CountDownDateTime.toString().trim()) + ":" + getsTime(i.CountDownDateTime.toString().trim()))) + "<br/>已超时" + "

if (i.SYSJ < 0) {

contentHtml += "<td class='mid_2s_t red' id='td_djs_" + n + "'></td>";

} else {

//" + (i.CountDownDateTime == null ? "" : (gethTime(i.CountDownDateTime.toString().trim()) + ":" + getmTime(i.CountDownDateTime.toString().trim()) + ":" + getsTime(i.CountDownDateTime.toString().trim()))) + "

contentHtml += "<td class='mid_2s_t green' id='td_djs_" + n + "'></td>";

}

contentHtml += "</tr> </table> </div>";

var djs = i.CountDownDateTime.toString();

//$("#td_djs_" + i).html("");

//注册倒计时事件

var interval = setInterval(function () {

$("#td_djs_" + n).html((gethTime(djs).indexOf("-") != -1 ? (gethTime(djs).indexOf("-") != -1 ? gethTime(djs).replace("-", "") : gethTime(djs)) + ":" + (getmTime(djs).indexOf("-") != -1 ? getmTime(djs).replace("-", "") : getmTime(djs)) + ":"
+ (getsTime(djs).indexOf("-") != -1 ? getsTime(djs).replace("-", "") : getsTime(djs)) + "<br/>已超时" : (gethTime(djs).indexOf("-") != -1 ? gethTime(djs).replace("-", "") : gethTime(djs)) + ":" + (getmTime(djs).indexOf("-") != -1 ? getmTime(djs).replace("-",
"") : getmTime(djs)) + ":" + (getsTime(djs).indexOf("-") != -1 ? getsTime(djs).replace("-", "") : getsTime(djs))));

}, 1000);

U2PublishDataJS.interval.push(interval);


});

$("#div_publishList").append(contentHtml);

var listLength = $('#div_publishList .left_item').length;

if (listLength < 5) {

for (var i = listLength; i < 5; i++) {

$(document.createElement('div')).addClass('left_item noneBackground').appendTo('#div_publishList');

};

};

if ($('.list .left_item').last().attr('class').indexOf('last') == -1)

$('.list .left_item').last().addClass('last');

U2PublishDataJS.LoadPagerEvent(_totalCount, U2PublishDataJS.CurrentPageIndex);

},

//加载分页控件事件

LoadPagerEvent: function (totalCount, currentPageIndex) {

var pageCount = Math.ceil(totalCount / U2PublishDataJS.PageSize);

U2PageJS.PageIndex = currentPageIndex;

U2PageJS.PageTotalCount = pageCount;

U2PageJS.SwitchPageEvent = 'U2PublishDataJS.PagingEvent(PageIndex,' + U2PublishDataJS.CurrentUserId + ')';

var html = U2PageJS.LoadPageNumberEvent();

$("#div_page").html("").append(html);

},

//分页事件

PagingEvent: function (currentPageIndex, currentUserId) {

U2PublishDataJS.CurrentUserId = currentUserId;

U2PublishDataJS.CurrentPageIndex = currentPageIndex;

U2PublishDataJS.LoadMiddlePublishListEvent($("#hidn_SelectBrandId").val());

},

//已投标页面加载数据

LoadBiddedListEvent: function () {

var data = {};

data["CurrentUserId"] = U2PublishDataJS.CurrentUserId;

// data["Status"] = $("#hidn_status").val();

data["PageSize"] = U2PublishDataJS.PageSize;

data["PageIndex"] = U2PublishDataJS.CurrentPageIndex;

$.ajax({

type: "POST",

url: "/ajax/ApolloU2Handler.ashx?opear=getIsBidInfo",

data: data,

dataType: "json",

success: function (response) {

if (response.IsSucceed) {

U2PublishDataJS.LoadBiddedContentDivEvent(response.Data)

}

},

error: function () {

}

});

},

LoadBiddedContentDivEvent: function (data) {

var _jsonData = $.parseJSON(data);

var _totalCount = _jsonData.TotalCount;

var _publishList = _jsonData.Data;

$("#div_IsBidPublishList").html("");

var contentHtml = "";

$.each(_publishList, function (n, i) {

contentHtml +=

"<div class='left_item'>" +

"<table class='itable'>" +

"<tr >" +

"<td class='grbx_td1'>" + (i.CityName == null ? "--" : i.CityName) + "</td>" +

"<td class='grbx_td2'>" + (i.LicensePlate == null ? "--" : i.LicensePlate) + "</td>" +

"<td class='grbx_td3'>" + (i.RegisterDate == null ? "--" : i.RegisterDate) + "</td>" +

"<td class='grbx_td4 align_left' onclick='openMiddleDetail(" + i.CarSourceId + ")'>" + (i.CarName == null ? "--" : i.CarName) + "</td>" +

"<td class='grbx_td5'><span class='green'>" + (i.QuoteStatus == null ? "--" : i.QuoteStatus) + "</span></td>" +

"<td class='grbx_td6'><span class='red'>" + (i.QuotePrice == "" ? "0" : i.QuotePrice) + "万<br/><a class='red' onclick='ShowOldPrice(" + i.CarSourceId + ")'>查看历史报价</a></span></td>" +

"<td class='grbx_td7'><span ='red'>" + (i.ReferencePrice == "" ? "0" : i.ReferencePrice) + "</span></td>" +

"<td class='grbx_td8'>" + i.CarLevel + "</span></td>" +

"<td class='grbx_td9'>" + (i.QuoteDateTime == null ? "--" : i.QuoteDateTime) + "</td>" +

"<td class='grbx_td10'>" + (i.QuoteType == 2 ? "去拍卖" : ((i.TargetCItyName == null && i.DealerName == null) ? "--" : (i.TargetCItyName + " " + i.DealerName))) + "<br /></td>" +

"</tr>" +

"</table>" +

"</div>"

});

$("#div_IsBidPublishList").append(contentHtml);

U2PublishDataJS.LoadBiddedPagerEvent(_totalCount, U2PublishDataJS.CurrentPageIndex);

},

//加载分页控件事件

LoadBiddedPagerEvent: function (totalCount, currentPageIndex) {

var pageCount = Math.ceil(totalCount / U2PublishDataJS.PageSize);

U2PageJS.PageIndex = currentPageIndex;

U2PageJS.PageTotalCount = pageCount;

U2PageJS.SwitchPageEvent = 'U2PublishDataJS.BiddedPagingEvent(PageIndex,' + U2PublishDataJS.CurrentUserId + ')';

var html = U2PageJS.LoadPageNumberEvent();

$("#div_page").html("").append(html);

},

//分页事件

BiddedPagingEvent: function (currentPageIndex, currentUserId) {

U2PublishDataJS.CurrentUserId = currentUserId;

U2PublishDataJS.CurrentPageIndex = currentPageIndex;

U2PublishDataJS.LoadBiddedListEvent();

},

};

-----------------------------------------------------------只有谷歌不会是乱码

//时

function gethTime(dateString) {

var EndTime = new Date(dateString); //截止时间

var NowTime = new Date();

var t = EndTime.getTime() - NowTime.getTime();

var h = Math.floor(t / 1000 / 60 / 60 % 24);

if ((h.toString().indexOf("-") != -1 && h.toString().length == 2)) {

return h.toString().replace("-", "-0");

} else if (h.toString().length == 1) {

return "0" + h.toString();

} else

return h.toString();

}

//分

function getmTime(dateString) {

var EndTime = new Date(dateString); //截止时间

var NowTime = new Date();

var t = EndTime.getTime() - NowTime.getTime();

var m = Math.floor(t / 1000 / 60 % 60);

if (m.toString().indexOf("-") != -1 && m.toString().length == 2) {

return m.toString().replace("-", "-0");

} else if (m.toString().length == 1) {

return "0" + m.toString();

} else

return m.toString();

}

//秒

function getsTime(dateString) {

var EndTime = new Date(dateString); //截止时间

var NowTime = new Date();

var t = EndTime.getTime() - NowTime.getTime();

var s = Math.floor(t / 1000 % 60);

if (s.toString().indexOf("-") != -1 && s.toString().length == 2) {

return s.toString().replace("-", "-0");

} else if (s.toString().length == 1) {

return "0" + s.toString();

} else

return s.toString();

}

-----------------------------------------------------所以浏览器都适用,不会乱码

//时

function gethTime(dateStr) {

var dataString = dateStr.replace(/\s/g, '-').replace(/:/g, '-').split("-");

var EndTime = new Date(dataString[0], dataString[1], dataString[2], dataString[3], dataString[4], dataString[5]); //截止时间

var NowTime = new Date();

var t;

if (EndTime.getTime() < NowTime.getTime()) {

t = NowTime.getTime() - EndTime.getTime();

} else {

t = EndTime.getTime() - NowTime.getTime();

}

var h = Math.floor(t / 1000 / 60 / 60 % 24);

if (h < 10) {

return "0" + h;

} else

return h;

}

//分

function getmTime(dateStr) {

var dataString = dateStr.replace(/\s/g, '-').replace(/:/g, '-').split("-");

var EndTime = new Date(dataString[0], dataString[1], dataString[2], dataString[3], dataString[4], dataString[5]); //截止时间

var NowTime = new Date();

var t;

if (EndTime.getTime() < NowTime.getTime()) {

t = NowTime.getTime() - EndTime.getTime();

} else {

t = EndTime.getTime() - NowTime.getTime();

}

var m = Math.floor(t / 1000 / 60 % 60);

if (m < 10) {

return "0" + m;

} else

return m;

}

//秒

function getsTime(dateStr) {

var dataString = dateStr.replace(/\s/g, '-').replace(/:/g, '-').split("-");

var EndTime = new Date(dataString[0], dataString[1], dataString[2], dataString[3], dataString[4], dataString[5]); //截止时间

var NowTime = new Date();

var t;

if (EndTime.getTime() < NowTime.getTime()) {

t = NowTime.getTime() - EndTime.getTime();

} else {

t = EndTime.getTime() - NowTime.getTime();

}

var s = Math.floor(t / 1000 % 60);

if (s < 10) {

return "0" + s;

} else

return s;

}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: