javascript计时器频率是什么,怎样用javascript做一个计时器
大家好,如果您还对javascript计时器频率是什么不太了解,没有关系,今天就由本站为大家分享javascript计时器频率是什么的知识,包括怎样用javascript做一个计时器的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!
怎样用javascript做一个计时器
计时器,在生活当中也是用得频繁的功能,比如锻炼身体,跑步比赛等等相关的活动.我们用Javascript来完成一个计时器.
计时器,主要就是对时间的一个逻辑处理,比如60秒等于1分钟, 60分钟等于一个小时,我们这里只做到小时的处理.就这么一个简单的逻辑,然后动态的显示在一个Input里面.
那现在我们来完成这个界面
<label>计时:</label>
<input type="text" name="" id="timer"/>
<button onclick="pause(this)" id="pause" state="on">暂停</button>
<button onclick="restart()">重新开始</button>
给标签元素一个ID是为了获取其中的标签,然后加入了两个点击事件,计数器的暂停,和重新开始事件.
首先我们来完成开始计时的处理,开始计时主要还是是用了setInterval的方法,其中每隔1秒执行一次方法,
这样我们就可以对时间做处理,就像开头所说60秒等于1分钟...,所以这里就需要用判断来处理,最后就将其中的得到的秒,分,时显示到输入框里.
var ele_timer= document.getElementById("timer");
var n_sec= 0;//秒
var n_min= 0;//分
var n_hour= 0;//时
//60秒=== 1分
//60分=== 1小时
function timer(){
return setInterval(function(){
var str_sec= n_sec;
var str_min= n_min;
var str_hour= n_hour;
if( n_sec< 10){
str_sec="0"+ n_sec;
}
if( n_min< 10){
str_min="0"+ n_min;
}
if( n_hour< 10){
str_hour="0"+ n_hour;
}
var time= str_hour+":"+ str_min+":"+ str_sec;
ele_timer.value= time;
n_sec++;
if(n_sec> 59){
n_sec= 0;
n_min++;
}
if(n_min> 59){
n_sec= 0;
n_hour++;
}
}, 1000);
}
var n_timer= timer();
我们用timer方法包装setInterval方法是为了,后面暂停和重新开始做处理.
用户点击了暂停,计时器就停止计时,用户继续点击这个按钮,计时器继续计时.所以这里有一个状态需要控制,这个状态我们给这个按钮一个属性.
//暂停和继续
function pause(self){
var state= self.getAttribute("state");
if(state==="on"){
clearInterval(n_timer);
self.textContent="继续";
self.setAttribute("state","off");
} else{
n_timer= timer();
self.textContent="暂停";
self.setAttribute("state","on");
}
}
最后我们来看一下重新开始,重新开始事件就更加简单了.将计数器清0,然后改变暂停按钮初始状态.
function restart(){
clearInterval(n_timer);
n_sec= 0;
n_min= 0;
n_hour= 0;
n_timer= timer();
var ele_pause= document.getElementById("pause");
ele_pause.textContent="暂停";
ele_pause.setAttribute("state","on");
}
这样就完成了计时的功能.效果如下
频率是什么
频率是每个对象出现的次数与总次数的比值。
频率(frequency),数学术语,是指每个对象出现的次数与总次数的比值,比值m/n称为事件发生的频率。在相同的条件下,进行了n次试验,在这n次试验中,事件A发生的次数m称为事件A发生的频数。某个组的频数与样本容量的比值也叫做这个组的频率。有了频数(或频率)就可以知道数的分布情况。
频率表示一秒钟内振动完成周期性变化的次数,单位为Hz、kHz、MHz和GHz等。频率是0~1之间的一个实数,在大量重复试验的基础上给出了随机事件发生可能性的估计。
频率计算
随机事件在n次试验中发生m次的相对频次m/n。一般物理科学中频率指每秒中的振动次数,可以是随机的,也可以是确定性的。在一定条件下,对所研究的对象进行观察或测验,每实现一次条件组,称为一次试验。其结果称为事件。在一次试验中,可能发生也可能不发生的事件称为随机事件。
随机事件A发生的概率p(A)是该事件出现的可能性大小的度量。其数值在0与1之间。在一定条件下进行试验,如果事件A不可能发生,则p(A)=0;如果事件A必然发生,则p(A)=1。随着试验次数n的增大,频率接近于概率的可能性也越大。
如何让Javascript倒计时器时间到0时停止计时
我给你我的代码,你参考一下,把这些放在<head>和</head>之间
<span id="clock">00:00:05:00</span>
<input id="startB" type="button" value="start countdown!" onclick="run()">
<input id="endB" type="button" value="stop countdown!" onclick="stop()">
<br>
<input id="diff" type="text">
<input id="next" type="text">
<script language="Javascript">
var normalelapse= 100;
var nextelapse= normalelapse;
var counter;
var startTime;
var start= clock.innerText;
var finish="00:00:00:00";
var timer= null;
//开始运行
function run(){
startB.disabled= true;
endB.disabled= false;
counter= 0;
//初始化开始时间
startTime= new Date().valueOf();
// nextelapse是定时时间,初始时为100毫秒
//注意setInterval函数:时间逝去nextelapse(毫秒)后, onTimer才开始执行
timer= window.setInterval("onTimer()", nextelapse);
}
//停止运行
function stop(){
startB.disabled= false;
endB.disabled= true;
window.clearTimeout(timer);
}
window.onload= function(){
endB.disabled= true;
}
//倒计时函数
function onTimer()
{
if(start== finish)
{
window.clearInterval(timer);
alert("time is up!");
return;
}
var hms= new String(start).split(":");
var ms= new Number(hms[3]);
var s= new Number(hms[2]);
var m= new Number(hms[1]);
var h= new Number(hms[0]);
ms-= 1;
if(ms< 0)
{
ms= 9;
s-= 1;
if(s< 0)
{
s= 59;
m-= 1;
}
if(m< 0)
{
m= 59;
h-= 1;
}
}
var ms= ms< 10?("0"+ ms): ms;
var ss= s< 10?("0"+ s): s;
var sm= m< 10?("0"+ m): m;
var sh= h< 10?("0"+ h): h;
start= sh+":"+ sm+":"+ ss+":"+ ms;
clock.innerText= start;
//清除上一次的定时器
window.clearInterval(timer);
//自校验系统时间得到时间差,并由此得到下次所启动的新定时器的时间nextelapse
counter++;
var counterSecs= counter* 100;
var elapseSecs= new Date().valueOf()- startTime;
var diffSecs= counterSecs- elapseSecs;
nextelapse= normalelapse+ diffSecs;
//diff.value= counterSecs+"-"+ elapseSecs+"="+ diffSecs;
//next.value="nextelapse="+ nextelapse;
if(nextelapse< 0) nextelapse= 0;
//启动新的定时器
timer= window.setInterval("onTimer()", nextelapse);
}
</script>
javascript计时器何时关闭
你用的是什么计时器?
setTimeout("function",time)还是 setInterval("function",time)
参数是一样的,function是方法名,time是执行间隔的毫秒数
这2个都是计时用的
SetInterval会重复执行,setTimeout不会重复只执行一次。
如果要停止需要执行clearTimeout(对象)清除已设置的setTimeout对象,clearInterval(对象)清除已设置的setInterval对象。
用法大概如下:
var objTimout=window.setTimeout(function,5000);//5000毫秒=5秒,5秒后执行function方法,然后退出
window.clearTimeout(objTimout);//清除setTimeout设置的时间
或者
var objInterval=window.setInterval(function,5000);//每5秒执行一次function方法
window.clearInterval(objInterval);//清除setInterval对象设置的时间
希望能帮到你!
文章分享结束,javascript计时器频率是什么和怎样用javascript做一个计时器的答案你都知道了吗?欢迎再次光临本站哦!