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

 更新时间:2022-01-27 14:11:54   作者:佚名   我要评论(0)

计时器效果:

<div>
<font id='timeCount' style='display:inline-block; font-size:72px;width:100px;text-align:right;'>0</font> &

计时器效果: 

<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;";
}

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

您可能感兴趣的文章:
  • vue.js实现简单计时器功能
  • JavaScript实现简单计时器
  • JS实现一个秒表计时器
  • JS使用setInterval计时器实现挑战10秒
  • javascript实现一款好看的秒表计时器
  • JavaScript setInterval()与setTimeout()计时器
  • js实现内置计时器

您可能感兴趣的文章:

相关文章

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

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

    计时器效果: <div> <font id='timeCount' style='display:inline-block; font-size:72px;width:100px;text-align:right;'>0</font> &
    2022-01-27
  • 一篇文章告诉你如何实现Vue前端分页和后端分页

    一篇文章告诉你如何实现Vue前端分页和后端分页

    目录1:前端手写分页(数据量小的情况下)2:后端分页,前端只需要关注传递的page和pageSize总结1:前端手写分页(数据量小的情况下) 前端需要使
    2022-01-27
  • javascript的var与let,const之间的区别详解

    javascript的var与let,const之间的区别详解

    目录作为全局变量时变量提升暂时性死区块级作用域重复声明修改声明的变量(常量与变量声明)总结说到JavaScript中声明变量的几种方法也就是v
    2022-01-27
  • 交互式可视化js库gojs使用介绍及技巧

    交互式可视化js库gojs使用介绍及技巧

    目录1. gojs 简介2. gojs 应用场景3. 为什么选用 gojs:4. gojs 上手指南5. 小技巧(非常实用哦)6. 实践:实现节点分组关系可视化交互图最后
    2022-01-27
  • JavaScript事件的委托(代理)的用法示例详解

    JavaScript事件的委托(代理)的用法示例详解

    目录简介示例:事件委托写法1:事件委托写法2:每个子元素都绑定事件示例:新增元素写法1:事件委托写法2:每个子元素都绑定事件简介 说明 本
    2022-01-27
  • gojs实现蚂蚁线动画效果

    gojs实现蚂蚁线动画效果

    目录一、gojs 实现1. 绘图2. 虚线实现3. 让虚线动起来二、虚线及虚线动画背后的原理三、虚线的一些概念四、css 绘制边框虚线在绘制 dag 图时
    2022-01-27
  • Vue?elementUI实现树形结构表格与懒加载

    Vue?elementUI实现树形结构表格与懒加载

    目录1、实现效果2、后端实现2.1 实体类2.2 数据库中的数据结构2.3 后端接口2.4 swagger测试后端结构功能是否正常3、前端实现3.1 页面中引入e
    2022-01-27
  • vue3+TypeScript+vue-router的使用方法

    vue3+TypeScript+vue-router的使用方法

    目录简单使用创建项目vue-cli创建vite创建安装vue-router创建/修改组件修改入口ts启动vue在浏览器中访问文件结构图片综合使用动态参数使用wa
    2022-01-27
  • JSscript标签有哪些属性

    JSscript标签有哪些属性

    JS script标签有哪些属性: charset:可选。表示通过src属性指定的代码的字符集。由于大多数浏览器会忽略它的值因此这个属性很少有人用。def
    2022-01-27
  • 使用vue-video-player实现直播的方式

    使用vue-video-player实现直播的方式

    目录一、安装vue-video-player二、使用 vue-video-player课前准备:直播流协议https://www.cnblogs.com/yangchin9/p/14930874.html 摘要:在
    2022-01-27

最新评论