详解JavaScript的计时器和按钮效果设置


Posted in Javascript onFebruary 18, 2022

计时器效果: 

详解JavaScript的计时器和按钮效果设置

<div>
    <font id='timeCount' style='display:inline-block; font-size:72px;width:100px;text-align:right;'>0</font> &nbsp;&nbsp;&nbsp;
    //需要固定时间值的宽度,避免时间值从9变到10(以及从99变到100)时后面三张图片的位置发生变化
    //但是font是行内元素,无法设置宽度,所以把font变为行内块元素display:inline-block
    <img src='start.png'   class='imgBtn'  onclick="start(this)" >
    <img src='suspend.png' class='imgBtn'  onclick="suspend(this)">
    <img src='stop.png'    class='imgBtn'  onclick="stop(this)">
</div>
.imgBtn{ 
    cursor:pointer; 
    width:25px;
    height:25px;
}
var timerState=2;//0-start(正在计时)  1-suspend(暂停计时)  2-stop(停止计时)
var timerID;//计时器
//点击开始按钮,调用该函数
function start(obj){
	if(timerState==0) //如果当前状态为正在计时,本次点击不起作用
		return;
	else
	{
		timerState=0;//标识 正在计时
		changeImgBtnState(); //改变按钮的显示效果
		timerID=setInterval("f7()",500); //启动计时器
	}
}
function suspend(obj){
	if(timerState==1 || timerState==2)
		return; //如果当前状态为 暂停计时 或 停止计时,本次点击不起作用
	else
	{
		timerState=1; //标识 暂停计时
		changeImgBtnState(); //改变按钮的显示效果
		clearInterval(timerID); //清除计时器
	}
}
function stop(obj){
	if(timerState==2) //如果当前状态为 停止计时,本次点击不起作用
		return;
	if(timerState==0)  //如果当前状态为正在计时,清除计时器
		clearInterval(timerID); 
	document.getElementById('timeCount').innerHTML=0; //计时数值清零
	timerState=2; //标识 停止计时
	changeImgBtnState(); //改变按钮的显示效果
}
function f7()
{
	var i=document.getElementById('timeCount').innerHTML;
	document.getElementById('timeCount').innerHTML=parseInt(i)+1;
}
function changeImgBtnState(){
	var imgBtn=document.getElementsByClassName('imgBtn');
	for(var i=0;i<3;i++){
		imgBtnState(imgBtn[i],timerState!=i);
	}
}
function imgBtnState(obj,flag){
	if(flag==false) //按钮不可用
		obj.style.cssText="border:1px solid black;width:15px;height:15px;padding:5px;";
	else
		obj.style.cssText="border:0px solid black;width:25px;height:25px;padding:0px;";
}

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注三水点靠木的更多内容!

Javascript 相关文章推荐
javascript 处理HTML元素必须避免使用的一种方法
Jul 30 Javascript
js 多浏览器分别判断代码
Apr 01 Javascript
js下判断 iframe 是否加载完成的完美方法
Oct 26 Javascript
Bootstrap开发实战之第一次接触Bootstrap
Jun 02 Javascript
基于jQuery的select下拉框选择触发事件实例分析
Nov 18 Javascript
微信小程序 网络请求(post请求,get请求)
Jan 17 Javascript
Javascript基础回顾之(二) js作用域
Jan 31 Javascript
Angular通过angular-cli来搭建web前端项目的方法
Jul 27 Javascript
浅谈在vue项目中如何定义全局变量和全局函数
Oct 24 Javascript
js调用设备摄像头的方法
Jul 19 Javascript
利用JS动态生成隔行换色HTML表格的两种方法
Oct 09 Javascript
VUE搭建手机商城心得和遇到的坑
Feb 21 Javascript
一篇文章告诉你如何实现Vue前端分页和后端分页
javascript的var与let,const之间的区别详解
Feb 18 #Javascript
交互式可视化js库gojs使用介绍及技巧
gojs实现蚂蚁线动画效果
uni-app 微信小程序授权登录的实现步骤
Feb 18 #Javascript
详解TypeScript的基础类型
Feb 18 #Javascript
详解jQuery的核心函数和事件处理
Feb 18 #jQuery
You might like
精通php的十大要点(上)
2009/02/04 PHP
PHP函数http_build_query使用详解
2014/08/20 PHP
PHP实现的简易版图片相似度比较
2015/01/07 PHP
thinkPHP批量删除的实现方法分析
2016/11/09 PHP
js获取url参数的使用扩展实例
2007/12/29 Javascript
js编码之encodeURIComponent使用介绍(asp,php)
2012/03/01 Javascript
jquery datepicker参数介绍和示例
2014/04/15 Javascript
js判断元素是否隐藏的方法
2014/06/09 Javascript
jquery自定义右键菜单、全选、不连续选择
2016/03/01 Javascript
jQuery获取剪贴板内容的方法
2016/06/16 Javascript
实现JavaScript高性能的数据存储
2016/12/11 Javascript
利用Query+bootstrap和js两种方式实现日期选择器
2017/01/10 Javascript
基于ES6 Array.of的用法(实例讲解)
2017/09/05 Javascript
JS实现的计数排序与基数排序算法示例
2017/12/04 Javascript
JS严格模式原理与用法实例分析
2020/04/27 Javascript
JQuery复选框全选效果如何实现
2020/05/08 jQuery
在Vue里如何把网页的数据导出到Excel的方法
2020/09/30 Javascript
如何在JavaScript中正确处理变量
2020/12/25 Javascript
[01:11:10]2014 DOTA2华西杯精英邀请赛 5 24 iG VS VG加赛
2014/05/26 DOTA
[56:58]VP vs Optic 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python实现分割文件及合并文件的方法
2015/07/10 Python
Python实用技巧之列表、字典、集合中根据条件筛选数据详解
2018/07/11 Python
了解不常见但是实用的Python技巧
2019/05/23 Python
itchat-python搭建微信机器人(附示例)
2019/06/11 Python
Python从入门到精通之环境搭建教程图解
2019/09/26 Python
在keras中model.fit_generator()和model.fit()的区别说明
2020/06/17 Python
Clarins娇韵诗英国官网:来自法国的天然护肤品牌
2017/04/18 全球购物
Tretorn美国官网:瑞典外套和鞋类品牌,抵御风雨
2018/07/19 全球购物
学校门卫工作职责
2013/12/07 职场文书
人力资源作业细则
2014/03/03 职场文书
大学新生入学教育方案
2014/05/16 职场文书
故宫的导游词
2015/01/31 职场文书
四群教育工作总结
2015/08/10 职场文书
学生安全责任协议书
2016/03/22 职场文书
2019年大学推荐信
2019/06/24 职场文书
防止web项目中的SQL注入
2021/12/06 MySQL