详解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 相关文章推荐
List Information About the Binary Files Used by an Application
Jun 11 Javascript
JS小功能(offsetLeft实现图片滚动效果)实例代码
Nov 28 Javascript
原生javascript实现的分页插件pagenav
Aug 28 Javascript
在JavaScript中处理字符串之link()方法的使用
Jun 08 Javascript
以JavaScript来实现WordPress中的二级导航菜单的方法
Dec 14 Javascript
如何解决easyui自定义标签 datagrid edit combobox 手动输入保存不上
Dec 26 Javascript
JavaScript学习笔记之数组求和方法
Mar 23 Javascript
浅谈javascript控制HTML5的全屏操控,浏览器兼容的问题
Oct 10 Javascript
JavaScript编写九九乘法表(两种任选)
Feb 04 Javascript
vue 和vue-touch 实现移动端左右导航效果(仿京东移动站导航)
Apr 22 Javascript
微信小程序实现发红包功能
Jul 11 Javascript
微信小程序 轮播图实现原理及优化详解
Sep 29 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
基于mysql的论坛(5)
2006/10/09 PHP
第十三节--对象串行化
2006/11/16 PHP
推荐一篇入门级的Class文章
2007/03/19 PHP
autoIMG 基于jquery的图片自适应插件代码
2011/03/12 Javascript
JavaScript中的property和attribute介绍
2011/12/26 Javascript
图片上传插件jquery.uploadify详解
2013/11/15 Javascript
javascript弹出层输入框(示例代码)
2013/12/11 Javascript
jquery 删除字符串最后一个字符的方法解析
2014/02/11 Javascript
jquery实现带二级菜单的导航示例
2014/04/28 Javascript
2014年50个程序员最适用的免费JQuery插件
2014/12/15 Javascript
javascript实现表单提交后,提交按钮不可用的方法
2015/04/18 Javascript
工作中比较实用的JavaScript验证和数据处理的干货(经典)
2016/08/03 Javascript
微信公众号 摇一摇周边功能开发
2016/12/08 Javascript
Vue.js基础知识小结
2017/01/13 Javascript
jQuery插件HighCharts绘制2D圆环图效果示例【附demo源码下载】
2017/03/09 Javascript
requirejs按需加载angularjs文件实例
2017/06/08 Javascript
基于node.js express mvc轻量级框架实践
2017/09/14 Javascript
基于JSONP原理解析(推荐)
2017/12/04 Javascript
JavaScript笛卡尔积超简单实现算法示例
2018/07/30 Javascript
js中Generator函数的深入讲解
2019/04/07 Javascript
小程序调用微信支付的方法
2019/09/26 Javascript
python完成FizzBuzzWhizz问题(拉勾网面试题)示例
2014/05/05 Python
python中base64加密解密方法实例分析
2015/05/16 Python
python运行时强制刷新缓冲区的方法
2019/01/14 Python
python实现弹窗祝福效果
2019/04/07 Python
python 日志模块 日志等级设置失效的解决方案
2020/05/26 Python
Python如何使用神经网络进行简单文本分类
2021/02/25 Python
One.com挪威:北欧成长最快的网络托管公司
2016/11/19 全球购物
德国珠宝和手表在线商店:VALMANO
2019/03/24 全球购物
党员四风问题对照检查材料
2014/09/27 职场文书
颐和园导游词
2015/01/30 职场文书
结婚保证书(卖身契)
2015/02/26 职场文书
运动会广播稿300字
2015/08/19 职场文书
MySQL数据库压缩版本安装与配置详细教程
2021/05/21 MySQL
纯CSS3实现div按照顺序出入效果
2021/07/15 HTML / CSS
Java设计模式之代理模式
2022/04/22 Java/Android