效果图:

代码

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title>红绿灯倒计时</title><style>.box {width: 250px;height: 52px;padding: 15px 30px;border: 2px solid #ccc;border-radius: 16px;margin: 0 auto;}.box .count {width: 60px;color: #666;font-size: 280%;line-height: 50px;padding-left: 6px;margin-left: 5px;border: 1px solid #fff}.box div {margin-left: 5px;float: left;width: 50px;height: 50px;border-radius: 50px;border: 1px solid #666;}.gray {background-color: #eee;}.red {background-color: red;}.yellow {background-color: yellow;}.green {background-color: #26ff00;}</style></head><body><div class="box"><div id="red"></div><div id="yellow"></div><div id="green"></div><div class="count" id="count"></div></div><script>// 获取红、黄、绿灯以及倒计时的元素对象var lamp = {red: {obj: document.getElementById('red'),timeout: 30,style: ['red', 'gray', 'gray'],next: 'green'},yellow: {obj: document.getElementById('yellow'),timeout: 5,style: ['gray', 'yellow', 'gray'],next: 'red'},green: {obj: document.getElementById('green'),timeout: 35,style: ['gray', 'gray', 'green'],next: 'yellow'},changeStyle(style) {this.red.obj.className = style[0];this.yellow.obj.className = style[1];this.green.obj.className = style[2];}};var count = {obj: document.getElementById('count'),change: function(num) {this.obj.innerHTML = (num < 10) ? ('0' + num) : num;}};var now = lamp.green;var timeout = now.timeout;lamp.changeStyle(now.style);count.change(timeout);setInterval(function() {if(--timeout <= 0) {now = lamp[now.next];timeout = now.timeout;lamp.changeStyle(now.style);}count.change(timeout);}, 1000);</script></body></html>

杨老师课堂之JavaScript定时器案例的红绿灯设计相关推荐

  1. 杨老师课堂之JavaScript定时器限时抢购秒杀商品案例

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/kese7952/article/details/80346509 预览效果图: 使用到的知识点: 定 ...

  2. 杨老师课堂之JavaScript定时器_农夫山泉限时秒杀案例

    预览效果图: 使用到的知识点: 定时器 setInterval(函数,毫秒):在指定的毫秒数后调用函数或执行一段代码 取消定时器 clearInterval:取消由setInterval设置的定时器 ...

  3. 杨老师课堂之JavaScript悬浮事件(鼠标移入移出事件)

    今天给大家分享一个简单的JavaScript事件案例: 该事件属于悬浮事件 改代码逻辑非常简单,主要是 当鼠标移动到按钮上显示一个盒子,移开之后盒子隐藏 JavaScript事件中 onmouseov ...

  4. 杨老师课堂之网页制作HTML的学习入门-含有案例

    网页制作入门 - Html的学习 本篇所授任务 网站信息页面案例 网站图片信息页面案例 网站友情链接页面案例 网站首页案例 网站注册页面案例 网站后台页面案例 教学导航 教学目标 了解什么是标记语言 ...

  5. 台州杨老师课堂 UI设计培训班

    课程内容 一.图形界面设计基础 1.Photoshop 应用 通过各种不同风格网页整体GUI设计,掌握photoshop相关软件操作基础,熟练使用更重要是学会直接应用软件,通过项目实训直接设计. 2. ...

  6. 杨老师课堂之JavaWeb网站技术架构总结

    题记 有很多学生及一线的开发人员经常会问我到底是什么技术架构,是不是就是目前在学校的SSH.SSM技术,为了让更多的同行对架构这个词汇有更深刻的理解,我分享一下自己的个人见解.从编程开发到IT教学也有 ...

  7. 杨校老师课堂之JavaScript案例之跑马灯左右无缝连接图片自动轮播

    JavaScript案例之跑马灯左右无缝连接 效果图: 思路: 1.先做界面 1.1 制作一个大盒子,进行存放整个图片及按钮区域 1.2 制作两个按钮和中间区域盒子 1.3 中间区域盒子中使用无序列表 ...

  8. 杨老师课堂之Jquery的筛选,事件,效果,Ajax,javascript跨域)

    1 筛选[掌握]  筛选与之前"选择器"雷同,筛选提供函数 1.1 过滤 eq(index|-index),获取第N个元素 •index:一个整数,指示元素基于0的位置,这个元素 ...

  9. 杨校老师课堂之JavaScript右下角广告弹框教程

    案例制作思路: 1.先制作界面 添加一个盒子包含一个按钮,使盒子绝对定位在右上角 添加一个大盒子,同理,将盒子居于左下角:其中内部包含一个顶端盒子和底部盒子 顶端盒子因为是属于大盒子内部的存在,所以宽 ...

最新文章

  1. AutoX“真无人”车队驶上繁忙街头,中国正式进无人驾驶时代
  2. java子类参数传递给父类_java – 为什么调用将父类作为参数的方法调用,而不是将子类作为参数获取的方法?...
  3. [转]在ubuntu上安装chrome浏览器
  4. RedisDeskTopManager连接时提示:can't nonnect to redis-server
  5. 【MySQL】计算 TPS,QPS 的方式
  6. quercus mysql_让PHP运行在Glassfish中:quercus配置
  7. 排列组合(HDU-1521)
  8. 静态内部类 java 1614958017
  9. Zabbix Agent端配置文件说明
  10. es6-let const
  11. 【机器学习】一型模糊集和二型模糊集
  12. 电动自动吞吐式IC卡RFID读写器EMV模块HX150进卡命令
  13. bearer token头_bearer token 是什么意思
  14. python 转盘 圆形_python实现大转盘抽奖效果
  15. win10 +ubuntu20.04双系统安装:双硬盘+nvidia独立显卡
  16. 运行python文件、电脑突然黑屏_电脑运行中总是突然黑屏怎么办?
  17. 看了《麦田里的守望者》
  18. 源码分析 --- MapReduce如何确定任务的SplitSize、Splits、Map、Reduce
  19. C语言和R语言变量命名规则的比较
  20. linux英汉字典代码,Ubuntu安装英汉词典(词库)详细步骤

热门文章

  1. 关键字工具有哪些功能!?
  2. 程序员寂寥的心,寂寞的灵魂
  3. Python实现用户名字母大小写数字特殊符号
  4. 毕业设计 Spring Boot的中药店商城系统(含源码+论文)
  5. 关于QQ三国炒卖寄售三国点脚本思路
  6. 【第86题】JAVA高级技术-网络编程5(断点续传)
  7. java html导出excel插件_excel插件实现html表格生成excel
  8. SQL server生成数字表
  9. 解决 微信、QQ、微博、支付宝 第三方登录 不同应用间用户共享的问题
  10. Spring IoC详解