代码:

<!DOCTYPE html>
<html>
<head>
<title>多个timeout</title>
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
</head>
<body>
<div>
<h5 class="text-success">倒计</h5>
<!-- 已结束 -->
<p id="order_time_1" data-id="" data-starttime="2019-12-01 11:59:59" data-endtime="2020-02-02 11:30:59"
class="remain-time">已结束</p>
<!-- 距多少开始 -->
<p id="order_time_2" data-id="" data-starttime="2019-12-08 11:30:00" data-endtime="2020-03-20 12:00:00"
class="remain-time">距多少开始</p>
<!-- 距多少开始 -->
<p id="order_time_22" data-id="" data-starttime="2019-12-01 16:42:30" data-endtime="2020-03-20 12:00:00"
class="remain-time">距多少开始3</p> <!-- 距多少结束 -->
<p id="order_time_3" data-id="" data-starttime="2019-12-01 23:59:59" data-endtime="2020-03-10 23:59:59"
class="remain-time">距多少结束</p>
<!-- 距多少结束 -->
<p id="order_time_33" data-id="" data-starttime="2019-12-01 23:59:59" data-endtime="2020-03-1 16:44:00"
class="remain-time">距多少结束3</p>
</div> <script type="text/javascript">
var jsq = {
startdata: [],
enddata: [],
addStart: function (key, value) {
if (typeof (jsq.startdata[key]) == 'undefined') {
jsq.startdata[key] = value;
}
},
addEnd: function (key, value) {
if (typeof (jsq.enddata[key]) == 'undefined') {
jsq.enddata[key] = value;
}
},
addAll: function () {
$(".remain-time").each(function (i) {
var key = $(this).attr("data-id");
var startValue = $(this).attr("data-starttime");
var endValue = $(this).attr("data-endtime");
//添加计时元素
if (typeof (jsq.startdata[key]) == 'undefined') {
jsq.addStart(key, startValue);
jsq.addEnd(key, endValue);
}
});
//执行检测
jsq.subAll();
},
subAll: function () {
for (var index in jsq.startdata) {
var nowTime = new Date();
var startTime = new Date(jsq.startdata[index].toString().replace(/-/g, '/'));
var endTime = new Date(jsq.enddata[index].toString().replace(/-/g, '/')); var S_timestamp = startTime.getTime() - nowTime.getTime();
var E_timestamp = endTime.getTime() - nowTime.getTime(); //console.log(startTime);
if (E_timestamp <= ) //小1秒
{
$('#order_time_' + index).text('已结束 >' + jsq.enddata[index].toString());
$('#order_time_' + index).css("color", "red");
//$("#order_time_" + key).parent().parent().parent().parent().remove(); //删除
}
else if (E_timestamp > && S_timestamp >= ) //大1秒
{
//提取时间元素
var _day = Math.floor(S_timestamp / / / / );
var _hour = Math.floor(S_timestamp / / / % );
var _min = Math.floor(S_timestamp / / % );
var _sec = Math.floor(S_timestamp / % ); if (_hour < ) {
_hour = "" + _hour;
}
if (_min < ) {
_min = "" + _min;
}
if (_sec < ) {
_sec = "" + _sec;
}
$('#order_time_' + index).text(_day + "天" + _hour + "时" + _min + "分" + _sec + "秒" + "开始");
}
else {
//提取时间元素
var _day = Math.floor(E_timestamp / / / / );
var _hour = Math.floor(E_timestamp / / / % );
var _min = Math.floor(E_timestamp / / % );
var _sec = Math.floor(E_timestamp / % ); if (_hour < ) {
_hour = "" + _hour;
}
if (_min < ) {
_min = "" + _min;
}
if (_sec < ) {
_sec = "" + _sec;
}
$('#order_time_' + index).text(_day + "天" + _hour + "时" + _min + "分" + _sec + "秒" + "结束");
}
}
}
}; $(function () {
//倒计时
setInterval('jsq.addAll()', );
});
</script>
</body> </html>

【Js】单页面多个倒计时问题的更多相关文章

  1. 关于js单页面实现跳转原理以及利用angularjs框架路由实现单页面跳转

    还记得我们刚开始学习html时使用的锚节点实现跳转吗? <a href="#target">我想跳转至目标位置</a> <p>第一条</p ...

  2. 纯JS单页面赛车游戏代码分享

    分享一个以前写的小游戏,纯js游戏,代码很简单.欢迎大家来喷呦! 效果图: 代码展示://直接复制到html文件即可 支持IE9+版本 <!DOCTYPE html> <html&g ...

  3. Ember.js实现单页面应用程序

    1.1.1 摘要 单页应用程序 (SPA) 是加载单个HTML 页面并在用户与应用程序交互时动态更新该页面的Web应用程序. SPA使用AJAX和HTML5创建流畅且响应迅速的Web应用程序,不会经常 ...

  4. webpack配合vue.js实现完整的单页面demo

    本篇文章主要是我在开发前研究了webpack+vue.js的单页面应用,因为需要用到node的npm,所以确保安装了node,建议官网安装最新的稳定版本.并且在项目中需要加载一些npm包,由于npm的 ...

  5. 每天记录一点:NetCore获得配置文件 appsettings.json vue-router页面传值及接收值 详解webpack + vue + node 打造单页面(入门篇) 30分钟手把手教你学webpack实战 vue.js+webpack模块管理及组件开发

    每天记录一点:NetCore获得配置文件 appsettings.json   用NetCore做项目如果用EF  ORM在网上有很多的配置连接字符串,读取以及使用方法 由于很多朋友用的其他ORM如S ...

  6. angular.js开发 将多页面开发成单页面

    用angulara.js做单页面开发时,由于不能跨页面取数据,又需要传参,可以采用:$scope.step=0/1来解决这个问题,设置初始值为想要的页面即可.

  7. 快速构建H5单页面切换骨架

    在Web App和Hybrid App横行的时代,为了拥有更好的用户体验,单页面应用顺势而生,单页面应用简称`SPA`,即Single Page Application,就是只有一个HTML页面的应用 ...

  8. webpack+react+antd 单页面应用实例

    React框架已经火了好长一段时间了,再不学就out了! 对React还没有了解的同学可以看看我之前的一篇文章,可以快速简单的认识一下React.React入门最好的实例-TodoList 自己从开始 ...

  9. AngularJS中的route可以控制页面元素的改变,使多页面变成一个单页面。。。

    SPA(Single Page Application)指的是通单一页面展示所有功能,通过Ajax动态获取数据然后进行实时渲染,结合CSS3动画模仿原生App交互,然后再进行打包(使用工具把Web应用 ...

随机推荐

  1. python变量的内存机制

    python变量的内存机制 作为一门简单易用的语言,且配备海量的库,python可谓是程序员手中的掌中宝,编程本身就是一种将人类思维转化为计算机思维的技术,如果不需要去追求极致的运行效率同时又不限制于 ...

  2. 将照片转成base64时候,使用下面的这个包更加安全一些

    import org.apache.commons.net.util.Base64; 在项目中将照片转成base64时候,使用下面的这个包更加安全一些

  3. Maven和Ajax

    ****************使用maven构建项目******************** 一个maven项目必须要有一个pom文件. maven中常用的命令: 在使用mvn archetype: ...

  4. Linux cp/rm/mv 强制覆盖

    一.Linux下的cp/rm/mv强制覆盖 (一).反斜杠(\)临时取消别名 [root@fz ~]# \cp filename new/filename [root@fz ~]# (二).unali ...

  5. 10.29-10.30Test

    10.29-10.30Test 查看请点个赞 转载请注明出处(~不然~) 题目 描述 做法 \(BSOJ5161\) 从小到大放入\(n\)个数,每次他可以覆盖没被覆盖且小于等于自己的数,求每个数覆盖 ...

  6. Android学习小结

    自从学习Android以来已经经过三个月了,如今市场对于Android工程师的需求接近饱和,所以学习Android的人也少了很多,很多的培训机构也逐渐将Android课程淘汰,导致学习Android的 ...

  7. js无限轮播算法中干掉if判断

    无限轮播在网页应用中经常见到,这其中算法各有千秋,在学习算法分析一书中发现自增取余方法可以干掉一些不必要的if判断,具体代码如下: var arr= [1,2,3,4,5,6,7,8]; var in ...

  8. jquery ajax一个坑爹的问题

    问题描述: jquery ajax dataType为json时,如果json数据不严格,不进入success方法,控制台也不会报错. data.json {"result":&q ...

  9. 原创:自定义spark GraphX中的collectNeighborIds方法

    /** * 自定义收集VertexId的neighborIds * @author TongXueQiang */def collectNeighborIds[T,U](edgeDirection:E ...

  10. QML学习(一)——<简要概念知识点>

    转载:https://www.cnblogs.com/dengyg0710/p/10644936.html 1.一个 QML 文档有且只有一个根元素. 2.QML 元素名后所有内容使用 {} 包围起来 ...