详解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多种数据类型表格排序代码分析
Sep 11 Javascript
javascript实现的弹出层背景置灰-模拟(easyui dialog)
Dec 27 Javascript
微信中一些常用的js方法汇总
Mar 12 Javascript
jfreechart插件将数据展示成饼状图、柱状图和折线图
Apr 13 Javascript
ES6新数据结构Set与WeakSet用法分析
Mar 31 Javascript
vue中的非父子间的通讯问题简单的实例代码
Jul 19 Javascript
shiro授权的实现原理
Sep 21 Javascript
jQuery表单元素过滤选择器用法实例分析
Feb 20 jQuery
详解使用uni-app开发微信小程序之登录模块
May 09 Javascript
Node.js实现简单管理系统
Sep 23 Javascript
layui写后台表格思路和赋值用法详解
Nov 14 Javascript
Vue项目中使用mock.js的完整步骤
Jan 12 Vue.js
一篇文章告诉你如何实现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输出当前进程所有变量/常量/模块/函数/类的示例
2013/11/07 PHP
Yii查询生成器(Query Builder)用法实例教程
2014/09/04 PHP
老版本PHP转义Json里的特殊字符的函数
2015/06/08 PHP
PHP中抽象类,接口功能、定义方法示例
2019/02/26 PHP
PHP 判断字符串是中文还是英文, 或者是中英混合
2021/03/09 PHP
利用ASP发送和接收XML数据的处理方法与代码
2007/11/13 Javascript
基于jQuery的自动完成插件
2011/02/03 Javascript
用JavaScript修改CSS属性的代码
2013/05/06 Javascript
jQuery实现类似淘宝购物车全选状态示例
2013/06/26 Javascript
jquery实现带复选框的表格行选中删除时高亮显示
2013/08/01 Javascript
js调试工具Console命令详解
2014/10/21 Javascript
jQuery实现textarea自动增长宽高的方法
2015/12/18 Javascript
jquery遍历标签中自定义的属性方法
2016/09/17 Javascript
js实现前端分页页码管理
2017/01/06 Javascript
vue-cli配置文件——config篇
2018/01/04 Javascript
JavaScript生成指定范围随机数和随机序列的方法
2018/05/05 Javascript
简单的React SSR服务器渲染实现
2018/12/11 Javascript
vue点击自增和求和的实例代码
2019/11/06 Javascript
json解析大全 双引号、键值对不在一起的情况
2019/12/06 Javascript
vue路由权限校验功能的实现代码
2020/06/07 Javascript
如何构建 vue-ssr 项目的方法步骤
2020/08/04 Javascript
vue 使用post/get 下载导出文件操作
2020/08/07 Javascript
python之matplotlib学习绘制动态更新图实例代码
2018/01/23 Python
提升Python程序性能的7个习惯
2019/04/14 Python
django中上传图片分页三级联动效果的实现代码
2019/08/30 Python
Python pip 安装与使用(安装、更新、删除)
2019/10/06 Python
pandas实现DataFrame显示最大行列,不省略显示实例
2019/12/26 Python
PageFactory设计模式基于python实现
2020/04/14 Python
python 还原梯度下降算法实现一维线性回归
2020/10/22 Python
Python-openpyxl表格读取写入的案例详解
2020/11/02 Python
全球最大的户外用品零售商之一:The House
2018/06/12 全球购物
什么是索引指示器
2012/08/20 面试题
大学四年职业生涯规划书范文
2014/01/02 职场文书
《水乡歌》教学反思
2014/04/24 职场文书
政风行风自查自纠报告
2014/10/21 职场文书
幼儿园开学家长寄语(2016秋季)
2015/12/03 职场文书