详解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 相关文章推荐
070823更新的一个[消息提示框]组件 兼容ie7
Aug 29 Javascript
JavaScript 继承详解(二)
Jul 13 Javascript
获取3个数组不重复的值的具体实现
Dec 30 Javascript
jQuery实现元素拖拽并cookie保存顺序的方法
Feb 20 Javascript
jQuery和hwSlider实现内容响应式可触控滑动切换效果附源码下载(二)
Jun 22 Javascript
node.js中实现kindEditor图片上传功能的方法教程
Apr 26 Javascript
lhgcalendar时间插件限制只能选择三个月的实现方法
Jul 03 Javascript
es6 字符串String的扩展(实例讲解)
Aug 03 Javascript
详解webpack require.ensure与require AMD的区别
Dec 13 Javascript
vue组件name的作用小结
May 23 Javascript
VUE 实现复制内容到剪贴板的两种方法
Apr 24 Javascript
微信小程序:数据存储、传值、取值详解
May 07 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将字符分解为多个字符串的方法
2014/11/22 PHP
PHP CURL post数据报错 failed creating formpost data
2016/10/16 PHP
laravel通过a标签从视图向控制器实现传值
2019/10/15 PHP
对联广告js flash激活
2006/10/19 Javascript
JavaScript 拖拉缩放效果
2008/12/10 Javascript
js实现的真正的iframe高度自适应(兼容IE,FF,Opera)
2010/03/07 Javascript
轻松创建nodejs服务器(1):一个简单nodejs服务器例子
2014/12/18 NodeJs
jquery中checkbox全选失效的解决方法
2014/12/26 Javascript
JavaScript小技巧整理篇(非常全)
2016/01/26 Javascript
微信小程序实现图片预览功能
2018/01/31 Javascript
Vue 权限控制的两种方法(路由验证)
2019/08/16 Javascript
JS回调函数深入理解
2019/10/16 Javascript
浅析Vue 防抖与节流的使用
2019/11/14 Javascript
vue开发中遇到的问题总结
2020/04/07 Javascript
wxPython中listbox用法实例详解
2015/06/01 Python
Python实现自动发送邮件功能
2021/03/02 Python
python中subprocess批量执行linux命令
2018/04/27 Python
Django代码性能优化与Pycharm Profile使用详解
2018/08/26 Python
面向对象学习之pygame坦克大战
2019/09/11 Python
基于python的selenium两种文件上传操作实现详解
2019/09/19 Python
python字符串判断密码强弱
2020/03/18 Python
python求前n个阶乘的和实例
2020/04/02 Python
tensorflow 2.1.0 安装与实战教程(CASIA FACE v5)
2020/06/30 Python
关于python3.7安装matplotlib始终无法成功的问题的解决
2020/07/28 Python
使用python将微信image下.dat文件解密为.png的方法
2020/11/30 Python
selenium+超级鹰实现模拟登录12306
2021/01/24 Python
让IE6、IE7、IE8支持CSS3的脚本
2010/07/20 HTML / CSS
Mio Skincare美国官网:身体紧致及孕期身体护理
2017/03/05 全球购物
建筑公司文秘岗位职责
2013/11/29 职场文书
优秀求职信范文分享
2013/12/19 职场文书
外语专业毕业生自荐信
2014/04/14 职场文书
安康杯竞赛活动总结
2014/05/05 职场文书
工程材料采购方案
2014/05/18 职场文书
大学生在校表现评语
2014/12/31 职场文书
python使用BeautifulSoup 解析HTML
2022/04/24 Python
vue @ ~ 相对路径 路径别名设置方式
2022/06/05 Vue.js