利用js实现简易红绿灯


Posted in Javascript onOctober 15, 2020

HTML代码:

在一个div容器内,设置3个span

<body>
<div id="i1">
  <span class="light red_light"></span>
  <span class="light yellow_light"></span>
  <span class="light green_light"></span>

</div>

CSS代码:

<style>
    .red_light {
      width: 200px;
      height: 200px;
      border-radius: 50%;
      margin-left: 10px;
      display: inline-block;
      background-color: red;
    }

    .yellow_light {
      width: 200px;
      height: 200px;
      border-radius: 50%;
      margin-left: 10px;
      display: inline-block;
      background-color: yellow;
    }

    .green_light {
      width: 200px;
      height: 200px;
      border-radius: 50%;
      margin-left: 10px;
      display: inline-block;
      background-color: green;
    }

    .light {
      width: 200px;
      height: 200px;
      background-color: #777777;
      border-radius: 50%;
      margin-left: 10px;
      display: inline-block;
    }

    #i1 {
      width: 660px;
      height: 200px;
      margin: 0 auto;
      border: black 10px solid;
    }

  </style>

JS代码

<script>
  function l() {
    r_l()//红灯亮
    setTimeout(y_l, 1000);//黄灯一秒后亮
    setTimeout(r_l, 1000);//黄灯亮的同时关闭红灯
    setTimeout(g_l, 2000);//绿灯两秒后亮
    setTimeout(y_l, 2000);//绿灯亮,黄灯熄
    setTimeout(g_l, 3000);//三秒后,红灯熄
  }

  function r_l() {
    //获取红灯
    let r = document.getElementsByClassName('red_light')[0];
    //toggle函数,如果有该属性,则去除,没有该属性,则添加 
    r.classList.toggle('light')
  }

  function g_l() {
    //同上
    let r = document.getElementsByClassName('green_light')[0];
    r.classList.toggle('light')
  }

  function y_l() {
    //同上
    let r = document.getElementsByClassName('yellow_light')[0];
    r.classList.toggle('light')
  }

  //红灯10秒,黄灯2秒,绿灯10秒

   
  l(); //先执行函数
  window.onload = function () {
    t1 = setInterval(l, 3000)//每隔三秒重复执行函数
  };
//每隔三秒的时间是因为每个灯各闪一秒,如果改变了灯的持续时间,循环时间也要修改

</script>

运行效果

利用js实现简易红绿灯

以上就是利用js实现简易红绿灯的详细内容,更多关于js 实现红绿灯的资料请关注三水点靠木其它相关文章!

Javascript 相关文章推荐
图片自动缩小 点击放大
Jul 07 Javascript
运用jquery实现table单双行不同显示并能单行选中
Jul 25 Javascript
js实现从数组里随机获取元素
Jan 12 Javascript
jQuery使用toggleClass方法动态添加删除Class样式的方法
Mar 26 Javascript
BootStrap下拉框在firefox浏览器界面不友好的解决方案
Aug 18 Javascript
JS之获取样式的简单实现方法(推荐)
Sep 13 Javascript
基于bootstrap的文件上传控件bootstrap fileinput
Dec 23 Javascript
vue下跨域设置的相关介绍
Aug 26 Javascript
微信小程序报错:this.setData is not a function的解决办法
Sep 27 Javascript
axios 实现post请求时把对象obj数据转为formdata
Oct 31 Javascript
微信小程序scroll-view的滚动条设置实现
Mar 02 Javascript
详解JavaScript中的this指向问题
Feb 05 Javascript
关于Node.js中频繁修改代码重启服务器的问题
Oct 15 #Javascript
JS如何操作DOM基于表格动态展示数据
Oct 15 #Javascript
Node 使用express-http-proxy 做api网关的实现
Oct 15 #Javascript
springboot+vue+对接支付宝接口+二维码扫描支付功能(沙箱环境)
Oct 15 #Javascript
angular共享依赖的解决方案分享
Oct 15 #Javascript
ES11新增的这9个新特性,你都掌握了吗
Oct 15 #Javascript
js实现点击烟花特效
Oct 14 #Javascript
You might like
php实现文件下载简单示例(代码实现文件下载)
2014/03/10 PHP
深入理解PHP中的global
2014/08/19 PHP
PHP中使用addslashes函数转义的安全性原理分析
2014/11/03 PHP
php运行时动态创建函数的方法
2015/03/16 PHP
PHP的Socket网络编程入门指引
2015/08/11 PHP
支付宝服务窗API接口开发php版本
2016/07/20 PHP
关于捕获用户何时点击window.onbeforeunload的取消事件
2011/03/06 Javascript
javascript确认框的三种使用方法
2013/12/17 Javascript
innerHTML动态添加html代码和脚本兼容多个浏览器
2014/10/11 Javascript
javascript设置连续两次点击按钮时间间隔的方法
2014/10/28 Javascript
PHP PDO操作总结
2014/11/17 Javascript
JQuery实现样式设置、追加、移除与切换的方法
2015/06/11 Javascript
javascript事件委托的用法及其好处简析
2016/04/04 Javascript
详解JS几种变量交换方式以及性能分析对比
2016/11/25 Javascript
JS奇技之利用scroll来监听resize详解
2017/06/15 Javascript
Angular6 发送手机验证码按钮倒计时效果实现方法
2019/01/08 Javascript
python 排列组合之itertools
2013/03/20 Python
在Python中使用成员运算符的示例
2015/05/13 Python
python中返回矩阵的行列方法
2018/04/04 Python
python游戏地图最短路径求解
2019/01/16 Python
ML神器:sklearn的快速使用及入门
2019/07/11 Python
Django实现发送邮件找回密码功能
2019/08/12 Python
python求一个字符串的所有排列的实现方法
2020/02/04 Python
Python获取指定网段正在使用的IP
2020/12/14 Python
CSS3截取字符串实例代码【推荐】
2018/06/07 HTML / CSS
HTML5 canvas基本绘图之绘制曲线
2016/06/27 HTML / CSS
高品质和独特的产品世界:Creations and Collections
2018/01/07 全球购物
香蕉共和国工厂店:Banana Republic Factory
2018/06/09 全球购物
Rhone官方网站:男士运动服装、健身服装和高级运动服
2019/05/01 全球购物
意大利中国电子产品购物网站:Geekmall.com
2019/09/30 全球购物
百度吧主申请感言
2014/01/12 职场文书
继承公证书样本
2014/04/04 职场文书
工资收入证明
2014/10/07 职场文书
个人催款函范文
2015/06/23 职场文书
mysql死锁和分库分表问题详解
2021/04/16 MySQL
JavaScript小技巧带你提升你的代码技能
2021/09/15 Javascript