详解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 相关文章推荐
关于jquery css的使用介绍
Apr 18 Javascript
javascript调试过程中找不到哪里出错的可能原因
Dec 16 Javascript
怎么判断js脚本加载完成
Feb 28 Javascript
在Ubuntu系统上安装Node.JS的教程
Oct 15 Javascript
基于jquery实现鼠标滚轮驱动的图片切换效果
Oct 26 Javascript
AngularJS应用开发思维之依赖注入3
Aug 19 Javascript
JavaScript trim 实现去除字符串首尾指定字符的简单方法
Dec 27 Javascript
Jquery根据浏览器窗口改变调整大小的方法
Feb 07 Javascript
Vue.js实战之使用Vuex + axios发送请求详解
Apr 04 Javascript
js实现带进度条提示的多视频上传功能
Dec 13 Javascript
使用Angular CLI进行单元测试和E2E测试的方法
Mar 24 Javascript
vue渲染方式render和template的区别
Jun 05 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读注册表
2006/10/09 PHP
php过滤表单提交的html等危险代码
2014/11/03 PHP
php中使用gd库实现下载网页中所有图片
2015/05/12 PHP
常用的php图片处理类(水印、等比缩放、固定高宽)分享
2015/06/19 PHP
一个用js实现的页内搜索代码
2007/05/23 Javascript
利用jQuery 实现GridView异步排序、分页的代码
2010/02/06 Javascript
Javascript公共脚本库系列(一): 弹出层脚本
2011/02/24 Javascript
JavaScript 变量作用域分析
2011/07/04 Javascript
Dreamweaver jQuery智能提示插件,支持版本提示,支持1.6api
2011/07/31 Javascript
GridView中获取被点击行中的DropDownList和TextBox中的值
2013/07/18 Javascript
5分钟理解JavaScript中this用法分享
2013/11/09 Javascript
js中一个函数获取另一个函数返回值问题探讨
2013/11/21 Javascript
微信小程序 wx.request(object) API详解及实例代码
2016/09/30 Javascript
angular中实现控制器之间传递参数的方式
2017/04/24 Javascript
angularjs项目的页面跳转如何实现(5种方法)
2017/05/25 Javascript
微信小程序实现倒计时补零功能
2018/07/09 Javascript
layui table 表格上添加日期控件的两种方法
2019/09/28 Javascript
如何通过vscode运行调试javascript代码
2020/07/24 Javascript
解决vue单页面应用打包后相对路径、绝对路径相关问题
2020/08/14 Javascript
[54:09]RNG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.23
2019/09/05 DOTA
简单谈谈Python中的元祖(Tuple)和字典(Dict)
2017/04/21 Python
python学习入门细节知识点
2018/03/29 Python
python爬取网易云音乐评论
2018/11/16 Python
pycharm 将python文件打包为exe格式的方法
2019/01/16 Python
Python实现SQL注入检测插件实例代码
2019/02/02 Python
css3学习之2D转换功能详解
2016/12/23 HTML / CSS
任意存:BOXFUL
2018/05/21 全球购物
俄罗斯购买剧院和演唱会门票网站:Parter.ru
2019/11/09 全球购物
Berghaus官网:户外服装和设备,防水服
2020/01/17 全球购物
小学开学典礼主持词
2014/03/19 职场文书
教育基金募捐倡议书
2014/05/14 职场文书
大学生第一学年自我鉴定
2014/09/12 职场文书
春节慰问信范文
2015/02/15 职场文书
师范生小学见习总结
2015/06/23 职场文书
小学生必读成语故事大全:送给暑假的你们
2019/07/09 职场文书
SQL 尚未定义空闲 CPU 条件 - OnIdle 作业计划将不起任何作用
2021/06/30 SQL Server