第十四届蓝桥杯Web应用开发—模拟赛3期--网页PPT--蓝桥校园一卡通--心愿便利贴

news2024/11/18 12:37:59

文章目录

      • 1:网页PPT (5分) ✔✔✔
      • 2:蓝桥校园一卡通 (10分)✔✔✔
      • 3:心愿便利贴 (15分) ✔✔✔

1:网页PPT (5分) ✔✔✔

switchPage( )

switchPage( ){
if(activeIndex ==0 ){
    $(".btn.left").addClass("disable");
    $(".btn.right").removeClass("disable");
    $(".page").text("1 / 5");
    $(`section:eq(${activeIndex})`).attr("style","display:flex");
    $(`section:eq(${activeIndex})`).siblings().attr("style","display:none");
  }
  if(activeIndex == 1 || activeIndex == 2 || activeIndex == 3){
    $(".btn.left").removeClass("disable");
    $(".btn.right").removeClass("disable");
    $(".page").text(`${activeIndex+1} / 5`);
    $(`section:eq(${activeIndex})`).attr("style","display:flex");
    $(`section:eq(${activeIndex})`).siblings().attr("style","display:none");
  }
  if(activeIndex == 4){
    $(".btn.right").addClass("disable");
    $(".btn.left").removeClass("disable");
    $(".page").text("5 / 5");
    $(`section:eq(${activeIndex})`).attr("style","display:flex");
    $(`section:eq(${activeIndex})`).siblings().attr("style","display:none");
  }
  }

解题思路:
如果:页码为1,只能点击右按钮,页码 +1
否则:页码为5:可以点击左按钮,index-1;
如果:页码不是1或5,左右都可以点

拓展:
$(“li:eq(2)”)获取索引为2的li元素
next()方法主要用于获得指定元素的下一个同级元素
prev()方法主要用于获得指定元素的上一级同级元素
siblings()方法主要用于获得指定元素的同级所有元素

*** 页码是显示在网页上的数字1-5,而activeIndex的值是1-4***
注意index.js中已经给出了let activeIndex = 0;
index.js

const sectionsCount = $("section").length;
let activeIndex = 0;

// 监听用户按下空格和方向键的事件
$(document).on("keydown", (e) => {
  e.preventDefault();
  if (e.key === " " || e.key === "ArrowRight") {
    goRight();
  }
  if (e.key === "ArrowLeft") {
    goLeft();
  }
});

// 监听按钮点击事件
$(".btn.left").click(goLeft);
$(".btn.right").click(goRight);

// 切换下一张的函数
function goLeft() {
  if (activeIndex === 0) {
    return;
  }
  activeIndex -= 1;
  switchPage();
}

// 切换上一张的函数
function goRight() {
  if (activeIndex === sectionsCount - 1) {
    return;
  }
  activeIndex += 1;
  switchPage();
}

function switchPage() {
  // TODO: 请补充该函数,实现根据activeIndex切换页面的功能
  //并且在到达最后一页或第一页时给相应的按钮添加disable类
  
}

从index.js文件中可以看到
1:切换上下一页的按钮,试题中已经给出了,不需要再手动写了
2:只需要在switchPage( )中填充代码即可

2:蓝桥校园一卡通 (10分)✔✔✔

蓝桥一卡通
如果:输入框一不满足条件1, 给.form-group添加类,显示出错效果
如果:输入框二不满足条件2, 添加类,显示出错效果
如果:前两个输入框判断都通过,验证通过=>将信息添加到卡片上

// 获取DOM元素对象
		const studentName = document.getElementById("studentName"); // 姓名
		const studentId = document.getElementById("studentId");  // 学号
		const college = document.getElementById("college"); // 学院
		const submit = document.getElementById("submit");  // 制卡按钮
		const cardStyle = document.getElementById("cardStyle"); // 卡片
		const item = document.querySelectorAll(".item") // 卡片项
		
		let info = document.querySelectorAll(".form-group");
		let span1 = document.querySelector("#vail_name");
		let span2 = document.querySelector("#vail_studentId");
		submit.onclick = () => {
			// TODO 待补充代码
			//如果不满足条件1, 给.form-group添加类,显示出错效果
			//如果不满足条件2, 添加类,显示出错效果
			//验证通过, 添加类,显示出错效果
			let reg1 =/[\u4e00-\u9fa5]{2,4}/
			let reg2 =/^\d{1,12}$/
			if( (reg1.test(studentName.value)) == false ){
				span1.style.display= "block";	
				info[0].className = "form-group has-error";
				//注意题目要求,不要随意修改class和id名字,所以为了保险,还是加上了原本的form-group类名
			}
			if( (reg2.test(studentId.value)) == false){
				console.log("不满足");
				span2.style.display= "block";	
				info[1].className = "form-group has-error";
			}
			let items = document.querySelectorAll(".item");
			if((reg1.test(studentName.value)) == true &&  (reg2.test(studentId.value)) == true){
					items[0].innerHTML= studentName.value;
					items[1].innerHTML = studentId.value;
					items[2].innerHTML = college.value;
					console.log(studentName.value);
					cardStyle.classList.add('showCard')
                // 添加 showCard 类显示放大一卡通的动画,请勿删除
				}
			}
			

3:心愿便利贴 (15分) ✔✔✔

待修改代码:

<div class="card" :class="item.css" v-for="(item,index) in []" :key="index">

v-for="(item,index) in []" 改成v-for="(item,index) in wishList"

未修改前是空数组,渲染不出来数据,相应的页面样式就无法正常显示;空数组修改为wishList后才能出来页面效果

rules: {
					// TODO 待补充验证的代码
					 name: [{
                required: true,
                min: 2,
                max: 4
            }, ],
            content: [{
                required: true,
                min: 1,
                max: 30
            }]
				},

最终结果



拓展知识点:
正则表达式
jQuery常用方法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/409523.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

浅谈vue中的$含义及其用法($xxx引用的位置)

看了各个帖子的描述&#xff0c;还是未能参透$在vue中所想发挥的本意&#xff0c;将一些一知半解的理解摘抄下来&#xff0c;顺带附上自己常见的用法&#xff0c;以加深理解和记忆。 摘抄 这些只是Vue的命名规则&#xff0c;为了区分普通变量属性&#xff0c;避免我们自己声明…

前端开发一枚,入职前自学的感觉不难,为什么工作起来很吃力?

前言 我是软件工程专业&#xff0c;学前端之前&#xff0c;学过 C/C、Java、PHP、.net 成绩还不错基本都是90多分。感觉自己干后端也不吃力。实验室里面的项目都是前后都写。最爱 PHP&#xff0c;本以为以后就走上PHP后端工程师的道路了。 由于项目需要的原因&#xff0c;后来…

关于我的家乡html网页设计完整版,10个以家乡为主题的网页设计与实现

&#x1f4c2;文章目录​​二、&#x1f4da;网站介绍​​​​三、&#x1f517;网站效果​​​​▶️1.视频演示​​​​&#x1f9e9; 2.图片演示​​​​四、&#x1f492; 网站代码​​​​&#x1f9f1;HTML结构代码​​​​&#x1f3e0;CSS样式代码​​​​五、&#x1…

Vue中实现自定义excel下载

最近在工作中遇到一个需求&#xff0c;就是需要在前端实现一个错误模板Excel的下载功能。 实现下载有两种方式&#xff0c;一种是后端生成一个excel&#xff0c;放在服务器指定目录下&#xff0c;然后前端直接去后端拿。第二种是后端传给前端一个json的list&#xff0c;前端用…

vue 中使用自定义字体

1.先下载字体 2.在新建的font.css文件中加入下面代码引入字体 font-face { font-family: MSYH; src: url(阿里巴巴普惠体 L.ttf); font-weight: normal; font-style: normal; } font-face { font-family: HY; src: url(汉仪天宇风行体W.ttf); font-weight: normal; f…

React Hooks概述及常用的Hooks介绍

React Hooks概述及常用的Hooks介绍1 为什么会有Hooks2 Hooks的含义3 Hooks的用法3.1 useState()&#xff1a;状态钩子3.2 useEffect()&#xff1a;副作用钩子3.3 useCallback()&#xff1a;记忆函数3.4 useMemo()&#xff1a;记忆组件3.5 useRef()&#xff1a;保存引用值3.6 us…

【Fiddler Everywhere】史上最强抓包工具(安装 修改教程)

一、Fiddler简介 Fiddler Everywhere 是啥&#xff1f; 从名称上来看&#xff0c;就大概能猜出它的寓意&#xff0c;官方也通过一段话&#xff0c;解释了Fiddler Everywhere的作用: Fiddler Everywhere is a web debugging proxy for any browser, any application, any proc…

WEB核心【请求转发(阶段重点)】第六章

目录 1&#xff1a;请求转发【阶段重点】 1.1:语法格式及转发使用 1.2:request域对象 1.3:小结&#xff1a;请求转发间做数据传递 1.4:请求转发访问受保护目录 1&#xff1a;请求转发【阶段重点】 1.1:语法格式及转发使用 格式&#xff1a;forward:/要跳转的程序或者页面…

移动端适配方案总结

目录一、背景介绍1.1 为什么要进行移动端适配1.2 移动端适配方案二、rem方案2.1 什么是rem2.2 怎么根据屏幕尺寸设置根元素html的font-size2.3 postcss-pxtorem三、viewport方案3.1 什么是viewport方案3.2 postcss-px-to-viewport四、总结&#xff08;如果只想看实现步骤可跳过…

《Vue.js前端开发实战》课后习题答案

《Vue.js前端开发实战》课后习题答案第一章一、 填空题二、 判断题三、 选择题四、 简答题五、 编程题第2章一、 填空题二、 判断题三、 选择题四、 简答题五、 编程题第3章一、 填空题二、 判断题三、 选择题四、 简答题五、 编程题第4章一、 填空题二、 判断题三、 选择题四、…

微信小程序 四种弹窗方式

微信小程序弹窗一、wx.showToast(Object object)二 、wx.showModal(Object object)三、wx.showLoading(Object object)四、wx.showActionSheet(Object object)五、官方文档一、wx.showToast(Object object) 显示消息提示框 wx.showToast({title: 内容, //提示的内容duration: …

uniapp web-view加载本地html

有个需求需要加载本地的html&#xff0c;用uniapp的官网demo和文档进行操作一直有问题&#xff0c;现在给大家排排雷&#xff1a; demo&#xff1a;https://hellouniapp.dcloud.net.cn/pages/component/web-view-local/web-view-local 文档&#xff1a;https://uniapp.dcloud.n…

scrollTop、clientHeight、 scrollHeight...学完真的理解了

在开发中我们常常会用到判断滚动条是否触底的逻辑。我一般都会在网上搜一段代码&#xff0c;这段代码有用到scrollTop、clientHeight、 scrollHeight 。接着我简单看一下好像理解了&#xff0c;再在项目里用一下好使了就没去深入研究相关概念。等下次用到了还是搜一下&#xff…

【Vue】图片拉近、全屏背景实战经验总结

文章目录1 图片拉近2 全屏背景2.1 background-attachment2.2 background-size2.3 display:flex;2.4 flex-direction2.5 100vh1 图片拉近 缘起是看到了下面的图片&#xff0c;我发现当鼠标悬浮的时候&#xff0c;发现他是可以拉近的&#xff0c;也就是图片的宽高不变&#xff0…

【学姐面试宝典】—— 前端基础篇Ⅱ(HTTP/HTML/浏览器)

前言 博主主页&#x1f449;&#x1f3fb;蜡笔雏田学代码 专栏链接&#x1f449;&#x1f3fb;【前端面试专栏】 今天继续学习前端面试题相关的知识&#xff01; 感兴趣的小伙伴一起来看看吧~&#x1f91e; 文章目录Doctype 作用&#xff0c;严格模式与混杂模式如何区分&#x…

关于uni-app入门看完这篇就够了

关于uni-app的入门 前言 这是一篇关于uni-app入门的文章&#xff0c;也是我对uni-app的总结与归纳&#xff0c;刚开始的时候在这个平台上面找寻同类型的文章的时候发现讲的都很片面不怎么详细&#xff0c;所以就写了一篇关于基本入门的文章&#xff0c;全文总计 7500 字 预计…

Vue 清除Form表单校验信息 清除表单验证上次提示信息

问题描述 在Vue项目中使用Form组件进行表单验证&#xff0c;再次打开该表单时&#xff0c;上次的验证提示信息依然存在&#xff0c;业务场景要求再次打开该表单时清除验证提示信息和绑定的数据。 解决办法 在控制表单显隐的方法内加入以下代码即可实现&#xff1a; 1.使用…

react性能优化之memo的作用和memo的坑

前言 在react中&#xff0c;组件渲染的是最常有的事情。但是&#xff0c;有部分的渲染是不必要的&#xff0c;是可以避免的。 在react的一般规则中&#xff0c;只有父组件的某一个状态改变&#xff0c;父组件下面所有的子组件不论是否使用了该状态&#xff0c;都会进行重新渲…

[vue+element-ui] form中输入框无法输入问题的解决方法

目录 一.问题发现&#xff1a; 二.正确案例与错误原理&#xff1a; 三.问题解决 一.问题发现&#xff1a; 笔者在制作登录页面前端时使用elementuivue技术&#xff0c;发现输入框无法输入任何内容。 在csdn上查阅很多文章后发现都无法解决&#xff0c;于是去elementui官网进…

谷歌浏览器插件HackBar安装方法(详细教程)

文章目录1.下载压缩包2.将压缩包添加至扩展程序3.修改配置文件4.功能说明1.下载压缩包 链接&#xff1a;https://pan.baidu.com/s/1XOKo_ILZv8PcJihoc8981A?pwd3ha8 提取码&#xff1a;3ha8 注意&#xff1a;下载即可&#xff0c;不用解压。 2.将压缩包添加至扩展程序 打开…