速通蓝桥杯Web
按照蓝桥题库里的标签分类,蓝桥web题型应该是这样子的↓不过身体状况不允许,我已无时间整理,留下这几个空标题,以后闲来无事把所有的题补上罢。请转至模拟题
CSS3
ES6
ECharts
ElementUI
HTML5
JS
Seletor?
1 | document.querySelector() |
JS函数封装
Node.js
接口怎么写?
1 | const http = require('http') |
Vue.js
jQuery
树
模拟题
话说以下的题在哪可以找到?
JS基础
数据类型检测-一
完善 main.js
中 getType
函数中的 TODO 部分,返回传入值的对应数据类型。
传入值以及 getType
函数返回值(大小写可忽略)按照如下方式对应:
传入值 | 返回值 |
---|---|
‘s’ | string |
0 | number |
false | boolean |
undefined | undefined |
Symbol() | symbol |
function fn(){} | function |
123n | bigint |
null | null |
{} | object |
[] | array |
new Date | date |
new Map | map |
new Set | set |
/a/ | regexp |
1 | /** |
我不是很能理解这个!
梅楼封的一天-一
1 | /** |
平地起高楼-二
1 | function convertToTree(regions, rootId = "0") { |
收快递了-二
算是承接上一道题,此题思路是深搜,运用递归搜索出最终数组集合
1 | function findRegion(regions, regionName) { |
promise√
芝麻开门-二
过辣!
找到 index.js
文件中的 mPrompt
函数,完成函数中的 TODO 部分。
- 点击“点击弹出对话框,输入咒语”按钮会调用
mPrompt
函数,mPrompt
调用后页面显示对话框。mPrompt
函数必须返回一个promise
对象。 - 在对话框中的输入框中输入文字后,点击确认按钮,对话框消失,
promise
返回成功,promise
成功的值为输入的值。 - 只有当成功的值为“芝麻开门”时门自动打开(已实现)。
- 点击取消,对话框消失,
promise
返回失败,失败的值为false
。 - 对话框的显示隐藏请使用 DOM 节点的添加删除实现。
1 | /* 简单考察了Promise */ |
封装Promisefy函数-三
以 Node.js 中常用的读取文件操作为例,封装一个 Promisefy 函数,将回调形式调用的读取文件方法转换成一个 Promise 的版本。
1 | const fs = require('fs') |
这段代码是对 Node.js 内置模块 fs
中 readFile
函数进行了封装,将其转化为返回 Promise 的形式,以实现更方便的异步操作。
具体来说,promisefy
函数接收一个函数 fn
作为参数,该函数需要具有以下特点:
- 其最后一个参数为回调函数,该回调函数接收两个参数
err
和result
,其中err
表示错误信息,result
表示返回结果。 - 在执行过程中可能发生错误,此时需要调用回调函数并传入错误信息。
- 在执行结束后需要调用回调函数并传入结果。
promisefy
函数返回一个新函数,该函数的参数与 fn
相同,但是该函数返回一个 Promise 对象,实现了对 fn
函数的封装,将其转化为 Promise 形式的异步操作。
在该代码中,首先使用 fs.readFile
函数读取一个文件内容,并将其与另一个使用 promisefy
函数封装后的 readFileSync
函数返回的结果进行比较,以验证封装后的函数能够正常工作。
逃离二向箔-一
1 | // 使用 promise 模拟请求 + 3000ms后完成得到发射后结果 |
JS样式选择器√
- querySelector
蓝桥校园一卡通-三
过辣!
救命我的HTML/CSS基础烂到家了
介绍:
每年大一新生报道时,都需要办一张校园一卡通,无论吃饭、洗澡、买东西、甚至去图书馆借书都要用,小蓝想帮助学校做一个制卡界面,但是用 js 做用户输入验证不知道怎么写,快来帮助小蓝完成这个页面吧!
请在 index.html
文件中补全代码,具体需求如下:
- 完成表单验证:
- 姓名:2-4 个汉字,验证错误在对应的表单项(
class=form-group
)添加类class=has-error
,并在下方显示报错信息(即id=vail_name
的元素显示)。
tips: 正则中用
[\u4e00-\u9fa5]
表示汉字。
- 学号: 1-12 位纯数字,错误即在对应的表单项(
class=form-group
)添加类class=has-error
,并在下方显示报错信息(即id=vail_studentId
的元素显示)。
- 表单验证通过过后,正确显示卡片。在卡片(
class=info
)元素下的(class=item
)的元素中按照顺序分别显示表单提交的内容:姓名:xxx,学号:xxx, 学院:xxx。
1 | <body> |
JQ样式选择器√
大电影
过辣!
跟纸鹤大佬学到一个简明化代码的小技巧↓
选择器选择的元素命名:
$this $dom元素
优雅……实在是!!!!!太优雅了!
1 | // TODO:待补充代码 |
传送门-国
.html
的代码很有意思,这说明这个toFunction()
也很有意思。
1 | <div id="lift"> |
$(window).scrollTop()
解题如下:
1 | $(window).scroll(function () { |
网页 PPT-三
过辣!
介绍:
除了使用办公软件来制作 PPT,利用前端技术其实我们也可以制作一个在浏览器播放的 PPT,这样的 PPT 更加方便传播和查看,而且可以最大限度地利用前端技术的布局和交互能力。本题请实现一个讲授 HTML 基础知识的网页 PPT。
请在 js/index.js
文件中补全代码,具体需求如下:
- 补充
switchPage
函数,实现根据activeIndex
切换 PPT 页面的功能(切换页面请通过控制section
元素的display
属性实现),切换页面的同时需要改变左下角的页码(class="page")
,格式为"当前页码 / 总页码"
,注意。 - 在播放到第一页时给“上一张”按钮
(class="btn left")
添加disable
类,并在播放到最后一页时给“下一张”按钮(class="btn right")
添加disable
类,其他情况下则都不添加。
1 | const sectionsCount = $("section").length; |
宝贵的一票-二
完成 index.html
文件中的 TODO 部分。
- 点击添加选项,页面中新增一个选项。选项前文字按照:选项 1,选项 2,选项 3 …… 顺序排列,当页面中的选项大于 2 个时,选项后面跟随删除按钮(即 x 图标)。带有删除图标的选项 DOM 结构如下:
1 | <div class="mb-3 row item"> |
- 点击删除按钮,删除当前选项,并且选项前文字按照:选项 1,选项 2,选项 3 …… 顺序排列,当选项数量小于等于 2 个时,选项后面无删除按钮。
完成后,最终页面效果如下:
我的逻辑好差,像这种多拐几个弯的就不会了。
代码如下:
1 | <script> |
水果叠叠乐-一
怎么自如删除添加更改DOM元素啊555555
背景样式很好,很适合拿来做登录注册背景
这个找不到官方题解,只能看到CSDN一个很繁琐的
1 |
|
折叠手风琴-习
用JQ实现手风琴图片展示效果
1 | $(function() { |
.siblings()——返回某元素的所有同级元素
1 | $("li.start").siblings().css({"color":"red","border":"2px solid red"}); |
渐变色-一
代码见/Project/LittleProgram/渐变色
JQ & AJAX√
权限管理-三
1 | $(function () { |
Element√
心愿便利贴-三
1 |
|
饿了么第二次封装-一
目标:(实现单选选中效果)
1 | <template> |
Vuex√
消失的Token-三
只有 user
模块通过 namespaced: true
开启了命名空间功能。因此,在调用 user
模块中的 getters
与 mutations
时,需要使用以下特定语法↓
1 | '模块名/模块中的getters或mutations' |
1 | <script src="./components/login.js"></script> |
vue√
趣购-三
请在
trolley.vue
文件中的 TODO 部分补全代码:
用鼠标按下拖动图片到购物车(即
id="trolley"
的节点)中,然后松开鼠标,购物车会添加拖动的商品,并显示购物车商品数量。下方(即
class="result"
的方框)会显示购物车中商品的详情,详情以商品名 x 数量的形式展示,商品之间通过空格间隔。下方(即
class="result"
的方框)同时还会显示购物车中商品的总价。
1 | <!-- TODO: 补充拖拽事件,请不要改动任何 id 属性 --> |
绝美宋词-二
见 => E:\Project\LittlePrograms\poem
1 |
|
成语学习-一
为了达成这种效果↓
1 |
|
node接口√
资讯接口-二
- 通过在
app.js
书写代码,创建一个服务器,使服务在 8080 端口运行。- 访问
/news
返回资讯数据,访问其他任意路径均返回字符串 404 。
Url 请求方式 参数 响应结果 news GET 空 显示资讯数据 数据需要设置为
utf8
格式,资讯数据格式如下:
1
2
3
4
5
6
7
8
9
10 [
{
"channelId": "5572a108b3cdc86cf39001cd",
"name": "国内焦点"
},
{
"channelId": "5572a108b3cdc86cf39001ce",
"name": "国际焦点"
}
]555写接口!!!!
1 | // TODO: 待补充代码 |
http应用-一
- 通过在
app.js
书写代码,创建一个服务器,使服务在 8080 端口运行。 - 通过
node app.js
运行代码,使服务处于运行状态,点击右侧 【web 服务】,页面上显示 “hello world” 。
1 | // TODO: 待补充代码 |
Echarts√
商品销量和销售额实时展示看板-三
过辣!
请在 js/index.js
文件中补全代码。
最终效果可参考文件夹下面的 gif 图,图片名称为 effect.gif
(提示:可以通过 VS Code 或者浏览器预览 gif 图片)。
1 | // 指定图表的配置项和数据 |
粒粒皆辛苦-二
项目见 => E:\Project\LittlePrograms\EchartsTest1
1 | { |
1 |
|
学海无涯-一
比较讨巧的办法:
1 | option.xAxis.data=["2月第1周","2月第2周","2月第3周","2月第4周","3月第1周","3月第2周","3月第3周","3月第4周","3月第5周"] |
吐了页面搭建/CSS3
太薄弱了太薄弱了太薄弱了太薄弱了太薄弱了
未做/未理解
习题
关于你的欢迎语-习题-JS
用JS实现特定用户欢迎语的展示(输入框输入的字符串拼接后显示)
1 | function generate() { |
功能化标签页-习题-JS
用JS实现选项卡切换功能
1 | // 实现选项卡功能 |
新年贺卡-习题-JS-我万般不解
1 | document.addEventListener('DOMContentLoaded', function () { |
给页面化个妆-习题-CSS-我的布局啊!
1 | * { |
小兔子爬楼梯-习题-算法
简单啊,优化DP
1 | const climbStairs = (n) => { |
购物车-习题-vue axios
实现这种效果,就是一个v-for遍历。还有axios请求JSON
1 |
|
多个斜线开始的路径重定向问题-习题-vue
源码中一个正则表达式的修改
路由器查询中的未定义值现在变为未定义字符串-习题-vue
在 vue-router v3.4.0 版本代码中存在一个 Bug,路由器查询中的未定义值现在变为未定义字符串。请修复此问题。
1 | export function resolveQuery ( |
警告已弃用的 addRoutes-习题-vue
其实就是个console.warn
扩展: