文档章节

关于做指定时间进行显示倒计时的一些想法

xiaoxin502
 xiaoxin502
发布于 2015/12/04 23:54
字数 458
阅读 165
收藏 0
点赞 0
评论 0

在页面上用js进行控制显示倒计时,首先肯定需要一个定时器来进行刷新,我刚开始也认为这是很简单的逻辑,用一个定时器,1秒循环一次,每次减去一秒,这样不就行了。

后面想想这确实存在着很大的问题。

第一,虽然你定时器是设置了一秒钟执行一次,但是系统并不会很准确的每秒执行一次,这受到系统性能的影响可能会出现一些偏差,还要除去执行代码所用去的时间,虽然积累起来误差还是挺大的;

第二,应该你是用js进行控制的,这样当页面进行刷新的时候,你会发现倒计时的时间又被重置回来了,因为数据又被重新加载了。

后面上司跟我说了一个思路,其他思路,就是在循环减一这一步,换成,使用指定时间减去系统时间,以系统时间来作为一个参照点,这样就不会出现上面所说的问题了。

不过,这还是有一个小问题,如果我修改了系统时间的话,又会出现倒计时不准的问题了,所以这里如果能选择服务器的系统时间(假设服务器时间为标准时间)作为参照点的话,在客户端计算系统时间和服务器时间之间的差数,在循环中,用指定时间减去系统时间,再补上系统时间和服务器时间的差值,就更加完美一些了。

© 著作权归作者所有

共有 人打赏支持
xiaoxin502
粉丝 0
博文 4
码字总数 1730
作品 0
广州
18 行 JS 代码编一个倒时器

有时候在生活中,你需要一个JavaScript倒计时时钟,而不是一个末日装置设备。不管你是否有一次约会,销售、促销、或者游戏,你可以受益于使用原生JavaScript构建一个时钟,而不是拿到一个现成...

呵呵闯 ⋅ 2016/08/04 ⋅ 0

关于使用Cordova插件的问题求助

我在使用Cordova插件进行调用摄像头的时候设置录制5分钟 navigator.device.capture.captureVideo(captureSuccess, captureError, {limit: 1, duration: 300}); 但是在4分钟的时候录制时间会以...

周乐林6 ⋅ 2017/04/21 ⋅ 0

商品倒计时 for Swift

因公司项目添加商品倒计时需求,故针对商品倒计时模块做了个Demo,也是对自己的总结; 经过370041534群里的朋友提醒,既然是cell上有多个倒计时,可使用一个定时器控制cell上所有的倒计时,在...

程序H ⋅ 06/05 ⋅ 0

基于Arduino开发板的倒计时器

计时器是一种时钟形式,通常用于测量时间间隔。有两种类型的计时器,一种是从零开始向上计数,用于测量已用时间,称为秒表。而第二种类型的计时器从用户提供的指定持续时间倒计时,通常称为倒...

woshi_ziyu ⋅ 04/20 ⋅ 0

聊聊 CountDownTimer 使用过程中的注意事项

Android 实现倒计时的方式有多种,Handler 延时发送 Message,Timer 和 TimerTask 配合使用,使用 CountDownTimer 类等。相比而言,经过系统封装的 CountDownTimer 算是使用起来最为方便的方...

亦枫 ⋅ 2017/09/28 ⋅ 0

JS三教九流系列-jquery实例开发到插件封装3

我们先写实例,然后可能需要在封装为插件,最后做更高级的处理! 封装插件基础学习 http://my.oschina.net/u/2352644/blog/487688 1-7实例地址 http://my.oschina.net/u/2352644/blog/49082...

透笔度 ⋅ 2015/08/25 ⋅ 0

PHP 面向对象:PHP 实现类商品秒杀计时

比如要做一个限时购物的功能,这就要做到倒计时,要有实时的倒计时。 要求要有小时分钟秒的实时倒计时的显示,用户端修改日期时间不会影响到倒计时的正常显示(也就是以服务器时间为准)。 ...

BENNEE ⋅ 2011/03/22 ⋅ 0

Today Extension -数据共享与后台下载

之前学习Today Extension的时候,被几个问题困住无法解决,网上也没有很好的解答。最近问了大师一些处理的思路,也查找了一些官方的文档,就按照自己的思路将Today Extension的开发过程记录下...

李周 ⋅ 2017/09/25 ⋅ 0

js 定时器用法详解——setTimeout()、setInterval()、clearTimeout()、clearInterval()

写在前面: 在js应用中,定时器的作用就是可以设定当到达一个时间来执行一个函数,或者每隔几秒重复执行某段函数。这里面涉及到了三个函数方法:setInterval()、setTimeout()、clearInterval...

OB丶Koro1 ⋅ 2017/05/21 ⋅ 0

疯狂ios讲义之日期选择器(UIDatePicker)

UIDatePicker是一个可以用来选择日期和时间的控件。除此之外,它也可作为倒计时控件。 日期选择器(UIDatePicker)继承了UIControl,因此UIDatePicker可以作为活动控件使用,能与用户交互,既...

博文视点 ⋅ 2014/01/23 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

服务网关过滤器

过滤器作用 我们的微服务应用提供的接口就可以通过统一的API网关入口被客户端访问到了。但是,每个客户端用户请求微服务应用提供的接口时,它们的访问权限往往都需要有一定的限制,系统并不会...

明理萝 ⋅ 10分钟前 ⋅ 1

【2018.06.21学习笔记】【linux高级知识 14.1-14.3】

14.1 NFS介绍 14.2 NFS服务端安装配置 14.3 NFS配置选项

lgsxp ⋅ 18分钟前 ⋅ 0

Day18 vim编辑模式、命令模式与练习

编辑模式 命令模式 :nohl 不高亮显示 :x与:wq类似,如果在更改文件之后操作,两者效果一样;如果打开文件,没有任何操作; :wq会更改mtime,但是:x不会。 练习题 扩展 vim的特殊用法 ht...

杉下 ⋅ 22分钟前 ⋅ 0

Enum、EnumMap、EnumSet

1、Enum 不带参数 public enum Car { AUDI { @Override public int getPrice() { return 25000; } }, MERCEDES { ......

职业搬砖20年 ⋅ 22分钟前 ⋅ 0

Java中的锁使用与实现

1.Lock接口 锁是用来控制多个线程访问共享资源的方式,一般来说,一个锁能够防止多个线程同时访问共享资源。 在Lock出现之前,java程序是靠synchronized关键字实现锁功能的,而Java SE5之后,...

ZH-JSON ⋅ 24分钟前 ⋅ 0

线程组和 ThreadLocal

前言 在上面文章中,我们从源码的角度上解析了一下线程池,并且从其 execute 方法开始把线程池中的相关执行流程过了一遍。那么接下来,我们来看一个新的关于线程的知识点:线程组。 线程组 ...

猴亮屏 ⋅ 25分钟前 ⋅ 0

相对路径和绝对路径

基本概念   文件路径就是文件在电脑中的位置,表示文件路径的方式有两种,相对路径和绝对路径。在网页设计中通过路径可以表示链接,插入图像、Flash、CSS文件的位置。   物理路径:物理路...

临江仙卜算子 ⋅ 29分钟前 ⋅ 0

消息队列属性及常见消息队列介绍

什么是消息队列? 消息队列是在消息的传输过程中保存消息的容器,用于接收消息并以文件的方式存储,一个队列的消息可以同时被多个消息消费者消费。分布式消息服务DMS则是分布式的队列系统,消...

中间件小哥 ⋅ 31分钟前 ⋅ 0

java程序员使用web3j进行以太坊开发详解

如何使用web3j为Java应用或Android App增加以太坊区块链支持,教程内容即涉及以太坊中的核心概念,例如账户管理包括账户的创建、钱包创建、交易转账,交易与状态、智能合约开发与交互、过滤器...

笔阁 ⋅ 32分钟前 ⋅ 0

vim编辑模式、vim命令模式

vim编辑模式 使用vim filename 进入的界面是一般模式,在这个模式下虽然我们能够查看,复制,剪切,粘贴,但是不能编辑新的内容,如何能直接写入东西呢?这就需要进入编辑模式了,从一般模式...

李超小牛子 ⋅ 34分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部