当前位置: 首页 > news >正文

蓝桥云课-声网编程赛(声网编程竞赛7月专场)题解

在这里插入图片描述
比赛题目快速链接:https://www.lanqiao.cn/contests/lqENT02/challenges/

  1. 让时钟转起来(考点:css:transform)
// index.js
function main() {// 题解前理解一个东西:// 时针每过一小时,转30° 原因,360/12 = 30°// 分针每过一分钟,转30° 原因,360/60 = 6°// 秒针每过一秒,转6°。// 偏移量计算:值 / 分母 * 每过一段度数,例如时偏移量= 分钟值 / 60分母 * 30°const nowTime=new Date();const nowHoure=nowTime.getHours(); // 当前小时const nowMinute=nowTime.getMinutes(); // 当前分钟const nowSecond=nowTime.getSeconds(); // 当前秒const houreDeg=(nowMinute/60)*30; // 计算时钟偏移量const minuteDeg=(nowSecond/60)*6; // 计算当前分钟偏移量oHoure.style.transform="rotate("+ (nowHoure * 30+houreDeg) + "deg)"; // 转动角度+偏移量就是当前位置oMinute.style.transform="rotate("+ (nowMinute * 6+ minuteDeg) + "deg)"; // 请勿删除上方代码// 请在下方补充代码,使得时钟的秒针可以转动起来,秒钟一秒转6°oSecond.style.transform="rotate("+ (nowSecond * 6) + "deg)";}
  1. 调皮的模态框(考点:事件冒泡 event.stopPropagation())
        <script>// 请在这里补充代码,根据需求解决事件冒泡带来的问题,实现模态框的显隐操作。let baoming = document.querySelector("#myModal")function handleClick(e) {baoming.style.display = 'block'event.stopPropagation()}function handleOk(e) {baoming.style.display = 'none'event.stopPropagation()}</script>
  1. 由文本溢出引发的“不友好体验(css文本溢出处理,文本溢出处理的三个重要的css属性:overflow、text-overflow、line-clamp)
    <script>// 请在下方补充代码,使得文本溢出 2 行时使用省略号var text = document.querySelector('.more2_info_name').style='overflow:hidden;text-overflow: ellipsis;-webkit-line-clamp:2;'</script>
  1. 下次“绕”过你(localStorage axios)
 <script>// 请在修改或填补下方代码:// 请实现:在请求数据之前,判断 localStorage 中是否存有名为 historyData 的数据;// 1. 没有,则发送请求获取数据;2. 有,则从 localStorage 中获取。const data = localStorage.getItem("historyData");if (data) {renderHtml(JSON.parse(data));} else {// 请求数据,请勿删除axios.get("https://labfile.oss.aliyuncs.com/courses/9203/historyData.json").then((res) => {if (res.status === 200) {localStorage.setItem("historyData",JSON.stringify(res.data.data));renderHtml(res.data.data);}});}function renderHtml(data) {// 将数据写入 HTML 模板,请勿删除const html = `${data.map(function (item, index) {return `<div id="course-9203" class="course-item course-info" data-v-062d7aaa=""><div data-v-3ba6c69d="" class="row"><div data-v-3ba6c69d="" class="col-lg-4"><div data-v-3ba6c69d="" class="course-img"><a data-v-3ba6c69d="" :href="item.href" class="block" target="_blank"><img data-v-3ba6c69d="" src="${item.imgSrc}" height="160" alt="${item.imgSrc}"></a> <span data-v-23ac173c="" data-v-3ba6c69d=""><span data-v-23ac173c=""></span></span></div></div><div data-v-3ba6c69d="" class="col-lg-6"><div data-v-3d67ec2c="" data-v-3ba6c69d="" class="course-title"><span data-v-3d67ec2c="">${item.title}<span data-v-3d67ec2c="">${item.last}</span></div><div data-v-3ba6c69d="" class="course-related"><span data-v-3ba6c69d="">${item.report}篇实验报告<!----></span> <span data-v-3ba6c69d="">${item.question}个提问<!----></span></div></div><div data-v-3ba6c69d="" class="col"><div data-v-4b66fd24="" data-v-3ba6c69d="" class="operate"><span data-v-4b66fd24="" class="operate-top"><span data-v-4b66fd24="" class="more"> 更多 </span> <span data-v-4b66fd24="" class="delete">删除记录</span></span> <a data-v-4b66fd24="" href="/courses/9203/learning" class="operate-bottom" target="_blank">继续实验</a></div></div></div></div>`;}).join("")}`;// 将 HTML 模板插入到元素中,请勿删除document.querySelector(".container").innerHTML = html;}</script>
  1. 你能看出有多少位吗?(考察千分位,Number.toLocaleString() 可以实现快速千分位,但做时我没有用)
<script>$(function(){$('.infor-sub').click(function(e){$('.layer').hide();$('.form').hide();e.preventDefault();		//阻止表单提交})$('.shuru').click(function(e){$('.layer-content').animate({bottom: 0}, 200)e.stopPropagation();// let value = document.getElementById('input-box').innerText})$('.wrap').click(function(){$('.layer-content').animate({bottom: '-200px'}, 200)})$('.form-edit .num').click(function(){var oDiv = document.getElementById("input-box");let value = oDiv.innerText + this.innerText// 简单的提取 value,接下来对 value 进行处理let result = numChange(value)oDiv.innerText = result})$('#remove').click(function(){var oDiv = document.getElementById("input-box");let value = oDiv.innerTextvalue  = value.substring(0, value.length-1)// 简单的提取 value,接下来对 value 进行处理let  result = numChange(value)oDiv.innerText = result})})function numChange(value) {value = value.replaceAll(',', '')let result = ''let arrValue = value.split('').reverse()arrValue.forEach((item, index) => {if ((index+1) %3 == 0 && index !== arrValue.length-1) {result = result + item + ','} else {result+=item}})return result.split('').reverse().join('')}</script>
  1. 为图片添加景深效果(css:filter 毛玻璃效果)
    <script>// 请在这里编写代码,根据需求,使得图片达到景深效果// 这里打开f12看样式代码可以看出所有的img图层都加上了 filter: blur(2px); 的样式。document.querySelector('.img1').style.filter = "blur(0px)"document.querySelector('.img2').style.filter = "blur(0px)"</script>
  1. 验证密码强度
<script>// 请在这里补充代码,实现密码强度的验证let resultDom = document.querySelector('.result')let passwordField = document.getElementById('passwordField')let btn  = document.querySelector('.btn-primary')// 验证点击事件btn.addEventListener('click', function() {let value = passwordField.valueconsole.log(value)// 最终校验结果var result = ''// 验证校验if (value.length > 8) {result = '低'Rule2(value)} else {result = '无效'}// 中级function Rule2(value) {let arr = value.split('')let rule1 = false // 必须要有一个小写字母let rule2 = false // 必须要有一个数字for (let i = 0; i < arr.length; i++) {let item = arr[i]if (item.charCodeAt() >= 97 && item.charCodeAt() <= 122) {rule1 = true}if (Number(item) == item) {rule2 = true}}if (rule1 && rule2) {result = '中'Rule3(value)}}// 高级function Rule3(value) {let arr = value.split('')let rule1 = false // 必须要有一个大写字母let rule2 = false // 必须要有一个特殊字符for (let i = 0; i < arr.length; i++) {let item = arr[i]if (item.charCodeAt() >= 65 && item.charCodeAt() <= 90) {rule1 = true}if (item.charCodeAt() < 48 || item.charCodeAt() > 57 ) {rule2 = true}}if (rule1 && rule2) {result = '高'}}resultDom.innerText = result}, true)</script>
  1. 时间转换工具(考察对象子类型Data的使用)
  <script>new Vue({el: '#app',data: function() {return {formInline:{timeStamp: null, // 时间戳date: '' // 时间选择框的值}}},mounted() {},methods: {handleTransform() {let date = this.formInline.date		// 时间let timeStamp = this.formInline.timeStamp		// 时间戳if (date && !timeStamp) {let newValue = new Date(date)this.formInline.timeStamp = newValue.getTime()}if (!date && timeStamp) {timeStamp =  new Number(timeStamp)let d = new Date(timeStamp)this.formInline.date =  `${d.getFullYear()}-${d.getMonth()+1}-${d.getDate()} ${d.getHours()}:${d.getMinutes()}:${d.getSeconds()}`// console.log('转换', s)}}}})</script>
  1. 表格数据转换(考察:axios使用,element: Table组件formatter属性)
<template>
...<el-table-columnprop="sex"label="性别"width="180":formatter="sexFormatter"></el-table-column><el-table-columnprop="datetime"label="注册时间"width="180":formatter="dataFormatter"></el-table-column><el-table-columnprop="vip"label="会员":formatter="vipFormatter"></el-table-column>
</template><script>new Vue({el: '#app',data: function() {return {tableData: [],}},mounted() {this.initData()},methods: {initData() {axios({ url: './fetchTableData.json' }).then(res => {this.tableData = res.data.data})},dataFormatter(row, column, cellValue, index) {let valueArr = row.datetime.split('')valueArr.splice(4, 0, '-')valueArr.splice(7, 0, '-')return valueArr},sexFormatter(row, column, cellValue, index) {return	row.sex ?  '男' : '女'},vipFormatter(row, column, cellValue, index) {return	row.vip ?  '是' : '否'},}})
</script>
  1. URL 参数解析并高亮文本内容
<script>// 请你在 script 标签中编写代码,实现根据 URL 中的关键字为内容中包含关键字的文本添加 em 标签,以表示高亮。// 为按钮添加点击事件let input = document.getElementsByTagName('input')input[1].addEventListener('click', function () {let queryValue = getValue(input[0].value)clearEm()search(queryValue)}, true)// 1. 提取url中的wd字段的关键字。function getValue(url) {let left = url.indexOf('wd')let right = url.indexOf('&', left)console.log(url, left, right)let value = url.slice(left + 3, right) // wd= , 3 个字符return value}// 2. 获取元素内容,高亮后插回dom。function search(value) {let textDomArr = document.querySelectorAll('.c-title') // 标题高亮let contextDomArr = document.querySelectorAll('.content-right') // 内容高亮let spanDomArr = document.querySelectorAll('.c-color-gray') // 链接高亮textDomArr.forEach(item => {let temp = item.innerHTML.replaceAll(value, `<em>${value}</em>`)item.innerHTML = temp})contextDomArr.forEach(item => {let temp = item.innerHTML.replaceAll(value, `<em>${value}</em>`)item.innerHTML = temp})spanDomArr.forEach(item => {let temp = item.innerHTML.replaceAll(value, `<em>${value}</em>`)item.innerHTML = temp})}// 清除高亮function clearEm() {let textDomArr = document.querySelectorAll('.c-title')let contextDomArr = document.querySelectorAll('.content-right')let spanDomArr = document.querySelectorAll('.c-color-gray')textDomArr.forEach(item => {let temp = item.innerHTML.replaceAll('<em>', '').replaceAll('</em>', '')item.innerHTML = temp})contextDomArr.forEach(item => {let temp = item.innerHTML.replaceAll('<em>', '').replaceAll('</em>', '')item.innerHTML = temp})spanDomArr.forEach(item => {let temp = item.innerHTML.replaceAll('<em>', '').replaceAll('</em>', '')item.innerHTML = temp})}
</script>

相关文章:

蓝桥云课-声网编程赛(声网编程竞赛7月专场)题解

比赛题目快速链接&#xff1a;https://www.lanqiao.cn/contests/lqENT02/challenges/ 让时钟转起来&#xff08;考点&#xff1a;css&#xff1a;transform&#xff09; // index.js function main() {// 题解前理解一个东西&#xff1a;// 时针每过一小时&#xff0c;转30 原…...

Java高手速成 | Java web 实训之投票系统

01、投票系统的案例需求 在本篇中,我们将制作一个投票系统,让学生给自己喜爱的老师投票。该系统由1个界面组成,系统运行,出现投票界面,如图所示: ▍显示效果 在这个界面中,标题为:“欢迎给教师投票”;在界面上有一个表格,显示了各位教师的编号、姓名、得票数;其中…...

排序的基本概念

按数据存储介质&#xff1a;内部排序和外部排序按比较器个数&#xff1a;串行排序和并行排序按主要操作&#xff1a;比较排序和基数排序插入排序&#xff1a;基本思想&#xff1a;每步将一个待排序的对象&#xff0c;按其关键码大小&#xff0c;插入到前面已经排好序的一组对象…...

面试笔试资料--Java

这里写自定义目录标题1.同步和异步有何异同&#xff1f;在什么情况下分别使用他们&#xff1f;举例说明1.同步和异步有何异同&#xff1f;在什么情况下分别使用他们&#xff1f;举例说明 1.1概念 Java中交互方式分为同步和异步两种&#xff1a;   同步交互&#xff1a;指发送…...

基于TC377的MACL-ADC General配置解读

目录标题一、MACL-ADC General1.Config Variant与AdcConfigSet2. AdcGeneral3.AdcPublishedInformation二、最终对应达芬奇生成内容一、MACL-ADC General 1.Config Variant与AdcConfigSet Config Variant &#xff1a;变体配置&#xff0c;默认选择VariantPostBuild就好了&…...

error: src refspec master does not match any.处理方案

问题描述 在使用git bash指令将项目上传到github时&#xff0c;总是遇到一些错误无法解决。 下面是我遇到的一个问题 error: src refspec master does not match any. error: failed to push some refs to XXXX.git 原因分析&#xff1a; 错误&#xff1a;SRC ReFSPEC主控器不…...

防火墙有关iptables的知识点

基本概念 什么是防火墙 在计算中&#xff0c;防火墙是基于预定安全规则来监视和控制传入和传出网络流量的网络安全系统。该计算机流入流出的所有网络通信均要经过此防火墙。防火墙对流经它的网络通信进行扫描&#xff0c;这样能够过滤掉一些攻击&#xff0c;以免其在目标计算机…...

路肩石水渠机在施工公路项目中工艺特点的匹配

新建公路路肩项目在目前公路项目中的技术手段和实现方式,大多数依靠机械设备来机械来进行,还有一部分通过人工传统的预制作业和安装模式来进行,两种工艺特点的对比来说对于补充完善建设手段和效果实现有很重要的意义. 其中采用了机械设备进行一次成型制作的过程,按照设计需求匹…...

JS 动态爱心(HTML+CSS+JS)

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…...

钉钉配置事件订阅(Python)

钉钉配置事件订阅 0.需求分析 需要实现钉钉企业通讯录同步至企业微信通讯录&#xff0c;这就需要用到钉钉的事件与回调 1.配置应用 登陆开放平台 https://open-dev.dingtalk.com/去企业内部开发里面&#xff0c;先创建个应用&#xff0c;后面都借用这个应用来调接口 创建完…...

Linux-Udev机制

一:Udev概述 udev 是一个用户空间的设备管理器,用于为事件设置处理程序。作为守护进程, udev 接收的事件主要由 linux 内核生成,这些事件是外部设备产生的物理事件。总之, udev 探测外设和热插拔,将设备控制权传递给内核,例如加载内核模块或设备固件。udev 是一个用户空…...

ERP是什么?中小商户有必要用吗?秦丝、金蝶、管家婆哪家强?

ERP系统刚开始传入中国的时候&#xff0c;基本上只有超大型或大型企业有条件实施&#xff0c;不过最近几年随着小微企业、中小商户的信息化需求不断增长&#xff0c;ERP软件已慢慢被普遍使用。但是仍然有不少中小商户&#xff0c;还没搞清楚ERP到底是什么&#xff0c;看到大家都…...

pytorch离线安装

windows下离线安装pytorch&#xff0c;很多内网机&#xff0c;无法连接外网&#xff0c;只能下载whl文件进行离线安装下载pytorch&#xff0c;地址https://download.pytorch.org/whl/torch_stable.html我是windows&#xff0c;Python37&#xff0c;没有gpu&#xff0c;所以选择…...

数据结构-算法的时间复杂度(1.1)

目录 1. 算法效率 2. 时间复杂度 2.1 时间复杂度的概念 2.2 大O的渐进表示法 2.3 举例说明&#xff1a; 写在最后&#xff1a; 1. 算法效率 我们该如何判断一个算法的好坏&#xff1f; 衡量一个算法的好坏&#xff0c;是从时间和空间两个维度比较的&#xff0c; 而今天…...

Cygwin安装与Mingw

共同点&#xff1a;window下编译环境 区别&#xff1a;cygwin(gnu windows)模拟Linux编译环境&#xff0c; mingw模拟window编译环境&#xff0c;生成.exe可执行文件 目录 Cygwin安装 一、官网下载 二、双击安装 三、选择安装路径后&#xff0c;到连接方式如图 四、添加连…...

教育舆情监测方案有哪些,TOOM讲解教育舆情的应对与处理?

教育舆情方案是针对教育领域的舆情事件或问题而制定的应对方案。其主要目的是通过有效的信息收集、分析、处理和传播&#xff0c;帮助教育机构或相关组织及时掌握和应对公众舆论的发展趋势&#xff0c;维护良好的舆情形象和声誉&#xff0c;教育舆情监测方案有哪些&#xff0c;…...

c语言操作文件

1、文件缓冲区 文件缓冲区的目的&#xff1a;提高访问效率 提高磁盘使用寿命 刷新就是将当前缓冲区数据全部提交。 不刷新时&#xff0c;程序在崩溃时缓冲区内容无法输出&#xff08;有些情形会带来错误&#xff09; 文件缓冲区的四种刷新方式 行刷新&#xff08;遇到换行符…...

【C语言】初识指针

目录 一、指针是什么 二、指针和指针类型 三、野指针 四、指针运算 五、指针和数组 六、二级指针 七、指针数组 一、指针是什么 指针就是内存地址&#xff0c;指针变量是用来存放内存地址的变量&#xff0c;在同一CPU构架下&#xff0c;不同类型的指针变量所占用的存储单元长度…...

FFMPEG自学一 音视频解封装

一、音视频包含哪些数据对于一个mp4文件我们可以通过音视频分析软件打开查看内部信息。从两图可以看出mp4文件一般包含 音频流 视频流等。对于上面的字段大致分析如下Format编码方式AVC现在大部分视频都是这种编码方式&#xff0c;即H264。CodecId编码器idavc1H264封装有2种格式…...

HoloLens 2 丨打包丨MRTK丨Unity丨新手教学

HoloLens 2打包流程制作前言开发工具介绍Visual Studio 2019MRTK插件或示例程序下载打包流程介绍Unity操作修改Visual Studio修改Hololens 修改Hololens 密码忘记总结前言 提示&#xff1a;今日功能介绍 使用 MRTK制作hololens 2的打包流程制作的新手教学。 开发工具介绍 这…...

Azure Quickstart Templates流量管理器模板:5分钟部署终极全局负载均衡指南 [特殊字符]

Azure Quickstart Templates流量管理器模板&#xff1a;5分钟部署终极全局负载均衡指南 &#x1f680; 【免费下载链接】azure-quickstart-templates Azure Quickstart Templates 项目地址: https://gitcode.com/gh_mirrors/az/azure-quickstart-templates Azure Quicks…...

League Akari:英雄联盟玩家的终极智能助手,5大核心功能全面解析

League Akari&#xff1a;英雄联盟玩家的终极智能助手&#xff0c;5大核心功能全面解析 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power &#x1f680;. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit 还在为…...

不同CFD网格建模软件-动网格-自适应网格划分技术-课程推荐。

不同CFD网格建模软件-动网格-自适应网格划分技术-课程推荐。 数值模拟网格生成技术-01课程概览_哔哩哔哩_bilibili...

DenseNet参数量比ResNet少?从Bottleneck和Transition层设计,聊聊模型轻量化的核心思路

DenseNet与ResNet参数效率对比&#xff1a;从结构设计看模型轻量化本质 在深度学习模型设计中&#xff0c;参数量与计算效率一直是工程师们关注的核心指标。当DenseNet首次提出时&#xff0c;许多研究者对其参数效率感到惊讶——看似复杂的密集连接结构&#xff0c;实际参数量却…...

国际空间站工程知识共享:从太空协作到地面工程实践的启示

1. 国际空间站&#xff1a;一个工程师眼中的知识共享金矿作为一名在航天工程领域摸爬滚打了十几年的工程师&#xff0c;我常常被问到一个问题&#xff1a;耗资巨大的国际空间站&#xff08;ISS&#xff09;&#xff0c;除了那些遥不可及的太空探索梦想&#xff0c;到底给我们这…...

Vite+React+TypeScript构建个人作品集网站:从技术选型到GitHub Pages自动化部署

1. 项目概述&#xff1a;一个现代开发者如何构建自己的技术名片最近刚把自己的个人作品集网站重构上线&#xff0c;地址是https://yucco-k.github.io。这不仅仅是一个展示作品的静态页面&#xff0c;更是一个我用来实践和整合现代前端技术栈的“游乐场”。对于开发者而言&#…...

003、LVGL与其他GUI库对比

LVGL与其他GUI库对比:从一次内存泄漏调试说起 去年做一款智能家居中控屏,选了某款轻量级GUI库,跑了两周发现系统每隔几小时就卡死一次。用FreeRTOS的任务栈监控一看,某个绘图任务栈溢出——查了三天,发现是字体缓存没释放,每次切换界面都偷偷吃掉几百字节。后来换成LVGL…...

工业意识:03 组态软件怎么选?WinCC、FactoryTalk、国产一篇讲透

03 组态软件怎么选?WinCC、FactoryTalk、国产一篇讲透 前面咱们把SCADA聊成“千里眼”,MES聊成“透明玻璃房”,现在终于到最爽的部分——画面组态!简单说,就是用鼠标拖拖拽拽,在电脑上搭出那些监控大屏:仪表盘、按钮、趋势图、报警灯、3D管道……全连上PLC变量,点一下…...

苹果W1芯片如何通过低功耗无线技术重塑TWS耳机体验

1. 无线音频的功耗困局与苹果的破局思路 2016年9月&#xff0c;当苹果在发布会上首次亮出那对剪掉线缆的AirPods时&#xff0c;整个消费电子行业都在问同一个问题&#xff1a;它是怎么做到的&#xff1f;更具体地说&#xff0c;它如何解决了无线耳机领域最核心、也最令人头疼的…...

信息安全工程师-主动防御体系核心技术:从监测溯源到隐私保护全解析

一、引言&#xff08;一&#xff09;技术定义与软考定位主动防御是相对于被动防御的安全理念&#xff0c;核心是通过主动诱捕、溯源标记、容忍恢复等技术&#xff0c;突破传统 “边界防护 事后补救” 的局限&#xff0c;实现攻击全生命周期的管控。本文涉及的数字水印、网络攻…...