当前位置:首页 > 日记 > 正文

JavaScript在控件上添加倒计时功能的实现代码

JavaScript在控件上添加倒计时功能的实现代码

一.概述

在有些 报表 需求中,需要为控件添加倒计时功能,限制到某一个时间点后能进行一项操作或不能进行某项操作,比如查询,导出功能等等,又需要人性化地显示还有多少时间,即倒计时功能,比如下图中我们限制这个报表在每天10点后才能查询 

当倒计时结束的时候,查询功能可用 

这种功能如何实现的呢

二.实现思路

主要原理是利用控件的setEnable(true)/setEnable(false)来进行设置控件的可用与不可用状态,在获取时间的过程中,需要利用到JS中的获取时间,利用JS的定时器函数setInterval(function(){},time)来进行定时取得倒时时,并判断倒计时是否结束。

三 .实现过程

1、修改模板

以自带的gettingstarted.cpt模板为例,设置初始化时查询按钮不可用,如下图  

2、添加倒计时控制功能

为了简化控制流程,把JS代码直接写在查询按钮的初始化后事件中,如下图

代码如下:

 var h= 10 ; //限制几点可查询  var m= 00 ; //限制几分可查询  var s= 00 ; //限制几秒可查询  //格式化时间  function timeToString(a){   //小时   var s= '还有'   s+=parseInt(a/ 3600 )+ '时' ;   //分   s+=parseInt(a % 3600 / 60 )+ '分' ;   //秒   s+=parseInt(a % 60 )+ '秒可查' ;   return s;  }  var date1= new Date();  var date2= new Date();  //设置预置可查时间  date1.setHours(h);  date1.setMinutes(m);  date1.setSeconds(s);  //比如时间  var d=(date1-date2)/ 1000 ;  //如果初始化时可用,就启用按钮  if (d< 0 ){   this .setValue( '查询' );   this .setEnable( true );  } else {    var btn= this ;    //显示倒计时时间   btn.setValue(timeToString(d));   //设置不可用   btn.setEnable( false );    //定时器函数   setInterval(function(){    //重新设置时间    date1= new Date();     date2= new Date();    date1.setHours(h);    date1.setMinutes(m);    date1.setSeconds(s);    //重新当前时间与设定时间的时间差    d=(date1-date2)/ 1000 ;    if (d< 0 ){    btn.setValue( '查询' );    btn.setEnable( true );    } else {     btn.setValue(timeToString(d));    btn.setEnable( false );     }   }, 1000 );  } 

以上所述是小编给大家介绍的JavaScript在控件上添加倒计时功能的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

相关文章

jquery仿京东商品放大浏览页面

jquery仿京东商品放大浏览页面

浏览,商品,京东,页面,电脑软件,jquery仿京东商品页面京东页面大家都很熟悉,进入商品页面把鼠标放在图片上旁边会出现一个放大的效果,接下来就带大家看看怎么实现的!!!!仿京东商品页面css的代码!!!*{ margin: 0; padding: 0;}.da{ width: 360px; …

PPT制作墙砖字的方法怎么做

PPT制作墙砖字的方法怎么做

方法,怎么做,电脑软件,PPT,  还在为你的PPT文字平凡不起眼而烦恼吗?Duang~墙砖字震撼来袭!墙砖的字体,看起来还是非常不错滴。以下是小编为您带来的关于PPT制作墙砖字,希望对您有所帮助。PPT制作墙砖字1、在&ldquo;设计&rdquo;选项卡中将幻…

Photoshop调制出昏暗的霞光色铁路

Photoshop调制出昏暗的霞光色铁路

调制,霞光,弯道,昏暗,铁路,素材图片有点杂乱,同时天空部分泛白;处理的重点是把天空换上霞光;然后在合适的位置渲染一些阳光;再把图片边角区域压暗,杂乱的区域涂暗即可。原图最终效果 1、打开原图素材大图,创建可选颜色调整图层,对红、黄、绿进行调…

jquery实现放大点击切换

jquery实现放大点击切换

电脑软件,jquery,本文实例为大家分享了jquery放大点击切换图片展示的具体代码,供大家参考,具体内容如下html代码<body><div class="boss"> <div class="bigimg"> <img src="img/s1.jpg" height="350" width="350" id="spic"> …

canvas的神奇用法

canvas的神奇用法

神奇,电脑软件,canvas,canvas有一个神奇的方法getImageData这个玩意。它可以获取canvas内图像的没一个像素点的颜色值获取,而且可以改变。如果你有各种滤镜的算法。那么用canvas就可以实现图片的滤镜转化,可以做成类似美图秀秀那样的功能。使…

ppt2010主题样式库的使用方法

ppt2010主题样式库的使用方法

使用方法,样式,主题,电脑软件,今天小编给大家讲ppt2010主题样式库的使用方法,有需要或者有兴趣的朋友们可以看一看下文,相信对大家会有所帮助的。ppt2010主题样式库的使用方法1、切换到演示文稿的&ldquo;设计&rdquo;选项卡,在&ldquo;主题&rdqu…

jquery使用iscorll实现上拉、下拉

jquery使用iscorll实现上拉、下拉

下拉加载,刷新,上拉,电脑软件,jquery,本文实例为大家分享了iscorll实现上拉下拉加载刷新的具体代码,供大家参考,具体内容如下实现原理是:判断fiiptop,flipdown是否显示为依据myScroll = new iScroll('wraphome', { fixedScrollbar:…

微信个性签名伤感短语伤感好听好看

微信个性签名伤感短语伤感好听好看

微信签名,流行,伤感,短语,个性签名,  最喜欢的音乐是你的声音,最喜欢的文字是你说过的话,最喜欢的路是和你一起走过的路,最喜欢的人是你。最伤心的事,是离开你。下面是小编整理的微信个性签名伤感短语的内容,希望能够帮到您。微信个性签名伤感…

nodejs mysql 实现分页的方法

nodejs mysql 实现分页的方法

方法,分页,电脑软件,nodejs,mysql,这两天学习了nodejs mysql 实现分页,很重要,所以,今天添加一点小笔记。代码如下var express = require('express');var router = express.Router();var settings = require('../settings.js');var mysql …

ASP.NET Core应用中与第三方IoC/DI

ASP.NET Core应用中与第三方IoC/DI

框架,第三方,中与,电脑软件,NET,一、ConfigureServices方法返回的ServiceProvider没有用!我们可以通过一个简单的实例来说明这个问题。我们先定义了如下这个一个MyServiceProvider,它实际上是对另一个ServiceProvider的封装。简单起见,我们利…

PS怎么利用两张照片合成佛光普照效

PS怎么利用两张照片合成佛光普照效

普照,照片,佛光,两张,效果,Photoshop软件作为一款比较强大的修图软件,它在修图方面有着无可比拟的优势,这也是它能给我们创新一个神奇世界的优势之处。以下小编&ldquo;林曌乐园&rdquo;便为大家分享一下如何使用PS软件制作&ldquo;佛光普照&rdq…

JS数组操作中的经典算法实例讲解

JS数组操作中的经典算法实例讲解

数组操作,经典算法,实例,电脑软件,JS,冒泡排序<script type="text/javascript">var arr = [3,7,6,2,1,5];定义一个交换使用的中间变量var temp = 0;for(i=0;i<arr.length;i++){ for(j=0;j<arr.length;j++){如果下一个元素小于当前元素 …