溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JavaScript在控件上怎么添加倒計時功能

發布時間:2022-05-11 13:54:38 來源:億速云 閱讀:146 作者:iii 欄目:互聯網科技

這篇“JavaScript在控件上怎么添加倒計時功能”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“JavaScript在控件上怎么添加倒計時功能”文章吧。

一.概述

在有些 報表 需求中,需要為控件添加倒計時功能,限制到某一個時間點后能進行一項操作或不能進行某項操作,比如查詢,導出功能等等,又需要人性化地顯示還有多少時間,即倒計時功能,比如下圖中我們限制這個報表在每天10點后才能查詢 

JavaScript在控件上怎么添加倒計時功能

JavaScript在控件上怎么添加倒計時功能

當倒計時結束的時候,查詢功能可用 

JavaScript在控件上怎么添加倒計時功能

這種功能如何實現的呢

二.實現思路

主要原理是利用控件的setEnable(true)/setEnable(false)來進行設置控件的可用與不可用狀態,在獲取時間的過程中,需要利用到JS中的獲取時間,利用JS的定時器函數setInterval(function(){},time)來進行定時取得倒時時,并判斷倒計時是否結束。

三 .實現過程

1、修改模板

以自帶的gettingstarted.cpt模板為例,設置初始化時查詢按鈕不可用,如下圖  

JavaScript在控件上怎么添加倒計時功能

2、添加倒計時控制功能

為了簡化控制流程,把JS代碼直接寫在查詢按鈕的初始化后事件中,如下圖

JavaScript在控件上怎么添加倒計時功能

代碼如下:

 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在控件上怎么添加倒計時功能”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女