第十三届蓝桥杯真题之灯的颜色变化

简介: 第十三届蓝桥杯真题之灯的颜色变化

1问题

第十三届蓝桥杯Web前端应用真题中的第四题《灯的颜色变化》要求通过完善js文件中的red、green、trafficlights函数,从而实现一个颜色会变的灯的效果,下面提供小编的做题思路。


2方法

2.1考点解析

本题考点:封装函数、setInterval()方法的使用、js操作dom。

相关用法:

setInterval()方法 按照指定的周期(以毫秒计)来调用函数或计算表达式
Function语句 声明一个函数,函数声明后,我们可以在需要的时候调用
querySelector() 方法 返回文档中匹配指定 CSS 选择器的一个元素

( 提示:1000 毫秒= 1 秒)


2.2解题思路

1.运用querySelector()方法,选择默认灯泡,将其样式设置为none,并为选中红色灯泡设置inline-block

2.根据要求,在灯泡变红三秒后变成绿色,即在对green函数进行设置时将原来的红色灯泡设置样式none,并添加绿色灯泡,为其设置inline-block。

3.灯泡首先在3秒后变红,接着变成绿色最后保持不变,要实现此功能需要为其添加计时器,即运用setInterval(function({}))方法

4.最终效果图展示

通过实验、实践等证明提出的方法是有效的,是能够解决开头提出的问题。

代码清单 1

// TODO:完善此函数 显示红色颜色的灯
function red() {
   // 页面完成加载3秒后灯的颜色变成红色
   document.querySelector('#defaultlight').style.display = 'none'
   document.querySelector('#redlight').style.display = 'inline-block'
}
// TODO:完善此函数  显示绿色颜色的灯
function green() {
   // 在灯变成红色3秒后,灯的颜色变成绿色
   document.querySelector('#defaultlight').style.display = 'none'
   document.querySelector('#redlight').style.display = 'none'
   document.querySelector('#greenlight').style.display = 'inline-block'
}
// TODO:完善此函数(定时器)
function light() {
setInterval(function(){
   red()
   setInterval(function(){
       green()
   },3000)
},3000)
}
light();


3结语

针对蓝桥杯真题中《灯的颜色变化》问题,提出运用封装函数、setInterval()方法、js操作dom方法,通过实验,证明该方法是有效的,本文的方法对于定时器的设计较为单一,未来可以继续研究与定时器相关问题,且通过巩固setInterval()方法,进一步开始对进度条进行学习。


目录
相关文章
|
安全 数据安全/隐私保护
openssh和openssl的版本关系
【4月更文挑战第14天】openssh和openssl的版本关系
2485 0
|
数据采集 缓存
访问网站的速度变慢的原因有什么,有哪些解决方法?
随着互联网技术和科技的发展,在上网的时候使用代理ip的使用人数也越来越多,因为业务的需求需要使用http动态代理ip的应用范围越来越多,那么访问网站的速度变慢的原因有什么,有哪些解决方法? 接下来小编就给大家介绍一下
516 2
|
10月前
|
IDE iOS开发 Python
小白如何开始使用通义灵码(含安装IDE、安装灵码插件)
PyCharm 和 IntelliJ IDEA 下载安装及通义灵码插件下载安装说明
8479 9
|
机器学习/深度学习 人工智能 自然语言处理
从提示工程到代理工程:构建高效AI代理的策略框架概述
该文探讨了AI代理的发展,特别是ChatGPT等模型如何展示了AI系统的潜力。文章提出从提示工程转向代理工程,定义了代理能力需求,并提出一个框架来设计和实施AI代理。代理工程涉及明确代理的任务、所需行动、能力及熟练度,通过现有技术满足这些需求。文章强调了广泛和特定知识的熟练度、精确信息获取以及代理的结构设计和协调。随着技术进步,该框架为AI代理的未来发展提供了基础。
780 0
|
自然语言处理 并行计算 算法
cp-sat求解器介绍及使用案例
cp-sat求解器介绍及使用案例 更多文章欢迎关注我的微信公众号:Python学习杂记
2444 1
|
人工智能 NoSQL atlas
生成式AI入门必读:基本概念、数据挑战与解决方案
为了实现这一目标,许多企业正在选择MongoDB Atlas
|
JavaScript Java 关系型数据库
springboot+vue小区物业管理系统(源码+文档)
使用小区物业管理系统分为管理员和用户、员工三个权限子模块。 管理员所能使用的功能主要有:首页、个人中心、用户管理、员工管理、业主信息管理、费用信息管理、楼房信息管理、报修信息管理、车位信息管理、停车信息管理、投诉编号管理、公告信息管理、部门信息管理等。 用户可以实现:首页、个人中心、业主信息管理、费用信息管理、楼房信息管理、报修信息管理、车位信息管理、停车信息管理、投诉编号管理、公告信息管理等。 员工可以实现:首页、个人中心、楼房信息管理、报修信息管理、投诉编号管理、公告信息管理、部门信息管理等。
|
开发工具 git
Git进行代码版本控制
Git进行代码版本控制
137 1
|
SQL JSON Java
基于dataX实现多种数据源数据汇聚(一)
在数据中台项目实践过程中,经常需要获取多个部门、多个系统的数据,此时面临多种多样的数据库,如何快速稳定的获取数据,并持续归集到数据中台的数据仓库中,是每个数据中台项目必须解决的问题。本文介绍了我在项目实践过程中,基于dataX实现数据汇聚的一些使用心得,在此和大家分享,希望有所帮助。
2887 0
基于dataX实现多种数据源数据汇聚(一)