javaScript蓝桥杯----大电影

news2024/12/23 9:05:24

目录

  • 一、介绍
  • 二、准备
  • 三、目标
  • 四、代码
  • 五、完成


一、介绍

一千个人眼里就有一千个哈姆雷特,小蓝最近痴迷于电影,但无奈学习任务繁重,只好先将电影收藏起来,留着以后观看,但是电影网站的收藏功能居然失效了,请你帮忙修复这个 bug 吧。

二、准备

本题已经内置了初始代码,打开实验环境,目录结构如下:

├── css
│   └── style.css
├── images
├── index.html
└── js
    └── jquery.min.js

其中:

  • index.html 是主页面。
  • js/jquery.min.js 是 jQuery 文件。
  • images 是图片文件夹。
  • css/style.css 是样式文件。

选中 index.html 右键启动 Web Server 服务(Open with Live Server),让项目运行起来。

接着,打开环境右侧的【Web 服务】,就可以在浏览器中看到如下效果:
在这里插入图片描述

三、目标

请使用 jQuery 或者 js ,完成 index.html 文件中的 TODO 部分。

  • 点击收藏图标,收藏图标在空心(images/hollow.svg)和实心 (images/solid.svg)中进行切换。
  • 点击收藏图标后,仅在收藏图标为实心图形时,成功提示框(class=toast__container)元素显示,2 秒后该提示框自动隐藏或者点击提示框上面的关闭按钮(class=toast__close)该提示框隐藏。请使用 display 属性设置元素的显示隐藏。

完成后,最终页面效果如下:

在这里插入图片描述

四、代码

index.html

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <link rel="stylesheet" href="./css/style.css" />
    <title>大电影</title>
    <script src="./js/jquery.min.js"></script>
  </head>
  

  <body>
    <div class="container">
      <!-- Batman -->
      <div class="card u-clearfix">
        <div class="card-media">
          <img src="./images/lmf1.jpg" alt="" class="card-media-img" />
          <div class="card-media-preview u-flex-center">
            <img src="./images/play.svg" alt="" />
          </div>
          <span class="card-media-tag card-media-tag-orange">Action</span>
        </div>
        <div class="card-body">
          <h2 class="card-body-heading">Batman</h2>
          <div class="card-body-options">
            <div class="card-body-option card-body-option-favorite">
              <img src="./images/hollow.svg" alt="" />
            </div>
            <div class="card-body-option card-body-option-share">
              <img src="./images/share.svg" alt="" />
            </div>
          </div>
          <ul class="card-body-stars u-clearfix"></ul>
          <a href="#/" class="card-button card-button-cta"> Buy $12.99 </a>
          <a href="#/" class="card-button card-button-link">
            More info
            <span class="card-button-icon">
              <img src="./images/more.svg" alt="" />
            </span>
          </a>
        </div>
      </div>
      <!-- Lone Ranger -->
      <div class="card u-clearfix">
        <div class="card-media">
          <img src="./images/lmf2.jpg" alt="" class="card-media-img" />
          <div class="card-media-preview u-flex-center">
            <img src="./images/play.svg" alt="" />
          </div>
          <span class="card-media-tag card-media-tag-brown">Western</span>
        </div>
        <div class="card-body">
          <h2 class="card-body-heading">Lone Ranger</h2>
          <div class="card-body-options">
            <div class="card-body-option card-body-option-favorite">
              <img src="./images/hollow.svg" alt="" />
            </div>
            <div class="card-body-option card-body-option-share">
              <img src="./images/share.svg" alt="" />
            </div>
          </div>
          <ul class="card-body-stars u-clearfix"></ul>
          <a href="#/" class="card-button card-button-cta"> Buy $12.99 </a>
          <a href="#/" class="card-button card-button-link">
            More info
            <span class="card-button-icon">
              <img src="./images/more.svg" alt="" />
            </span>
          </a>
        </div>
      </div>

      <!-- Superman -->
      <div class="card u-clearfix">
        <div class="card-media">
          <img src="./images/lmf3.jpg" alt="" class="card-media-img" />
          <div class="card-media-preview u-flex-center">
            <img src="./images/play.svg" alt="" />
          </div>
          <span class="card-media-tag card-media-tag-orange">Action</span>
        </div>
        <div class="card-body">
          <h2 class="card-body-heading">Superman</h2>
          <div class="card-body-options">
            <div class="card-body-option card-body-option-favorite">
              <img src="./images/hollow.svg" alt="" />
            </div>
            <div class="card-body-option card-body-option-share">
              <img src="./images/share.svg" alt="" />
            </div>
          </div>
          <ul class="card-body-stars u-clearfix"></ul>
          <a href="#/" class="card-button card-button-cta"> Buy $12.99 </a>
          <a href="#/" class="card-button card-button-link">
            More info
            <span class="card-button-icon">
              <img src="./images/more.svg" alt="" />
            </span>
          </a>
        </div>
      </div>
    </div>
    <div class="floating-action-button u-flex-center">
      <svg
        fill="#ffffff"
        height="24"
        viewBox="0 0 24 24"
        width="24"
        xmlns="http://www.w3.org/2000/svg"
      >
        <path
          d="M7 18c-1.1 0-1.99.9-1.99 2S5.9 22 7 22s2-.9 2-2-.9-2-2-2zM1 2v2h2l3.6 7.59-1.35 2.45c-.16.28-.25.61-.25.96 0 1.1.9 2 2 2h12v-2H7.42c-.14 0-.25-.11-.25-.25l.03-.12.9-1.63h7.45c.75 0 1.41-.41 1.75-1.03l3.58-6.49c.08-.14.12-.31.12-.48 0-.55-.45-1-1-1H5.21l-.94-2H1zm16 16c-1.1 0-1.99.9-1.99 2s.89 2 1.99 2 2-.9 2-2-.9-2-2-2z"
        />
        <path d="M0 0h24v24H0z" fill="none" />
      </svg>
    </div>

    <div id="toast__container">
      <div class="toast__cell">
        <div class="toast toast--green">
          <div class="toast__icon">
            <img src="./images/icon.svg" alt="" />
          </div>
          <div class="toast__content">
            <p class="toast__type">Success</p>
            <p class="toast__message">
              Congratulations, added to the Favorites successfully
            </p>
          </div>
          <div class="toast__close">
            <img src="./images/close.svg" alt="" />
          </div>
        </div>
      </div>
    </div>
    <script>
      // 评分星星的 DOM 结构
      let starInerHtml = `<li><img src="images/star.svg" alt=""></li>`;
      for (let index = 0; index < 5; index++) {
        $(".card-body-stars").append(starInerHtml);
      }
      // TODO:待补充代码
    </script>
  </body>
</html>

五、完成

      $(".container")[0].addEventListener("click", (e) => {
        const reg = /.+\.svg$/;
        //如果点击的是爱心图标才进行处理
        if (reg.test(e.target.src)) {
          //图标切换
          const reg2 = /\/(\w+)\.svg$/;
          const index = e.target.src.match(reg2)[1]
          e.target.src=e.target.src.replace(index,index=='solid'?'hollow':'solid')
          //信息显示
           $('#toast__container').show()
           //两秒后关闭
           let timer = setTimeout(()=>{
            $('#toast__container').hide()
           },2000)
           //点击X关闭
           $('.toast__close')[0].addEventListener('click',function(){
            //清除定时
            clearTimeout(timer)
            //隐藏信息
            $('#toast__container').hide()
           })
        }
      });

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

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

相关文章

Spring架构篇--2.7 远程通信基础--使用Netty

前言&#xff1a;Netty 作为Nio 模型的实现&#xff0c;相较于Selector &#xff0c;进一步将api进行封装&#xff0c;使用更加的简单&#xff1b;在平常的开发中会发现许多组件的底层通信都使用了Netty&#xff0c;所以就非常有必要对Netty 的使用以及其工作原理进行了解了。 …

改进YOLOv8 | 主干网络篇 | YOLOv8 更换骨干网络之 GhostNet | 从廉价操作中获取更多特征

论文地址:https://arxiv.org/abs/1911.11907 代码地址:https://github.com/huawei-noah/ghostnet 由于内存和计算资源有限,在嵌入式设备上部署卷积神经网络(CNN)很困难。特征图中的冗余是那些成功的神经网络的重要特征,但在神经架构设计中很少研究。本文提出了一种新的G…

JVM学习笔记二

1. JVM内存参数 要求 熟悉常见的 JVM 参数&#xff0c;尤其和大小相关的 堆内存&#xff0c;按大小设置 解释&#xff1a; -Xms 最小堆内存&#xff08;包括新生代和老年代&#xff09; -Xmx 最大堆内存&#xff08;包括新生代和老年代&#xff09; 通常建议将 -Xms 与 -…

【复杂网络建模】——基于微博数据的影响力最大化算法(PageRank)

&#x1f935;‍♂️ 个人主页&#xff1a;Lingxw_w的个人主页 ✍&#x1f3fb;作者简介&#xff1a;计算机科学与技术研究生在读 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4a…

pdf怎么转换成word?一分钟解决

PDF文件是一种广泛使用的电子文档格式&#xff0c;因为它们可以保留文档的完整性和格式。但是&#xff0c;有时候我们需要对PDF文件进行编辑和修改&#xff0c;这时候就需要将其转换成Word格式。在本篇文章中&#xff0c;我们将讨论PDF转换Word的方法及其优缺点。 有很多在线工…

易点易动打通财务系统,打破数据孤岛,实现固定资产的账实一致

固定资产管理涉及资产的采购、验收、账务处理、折旧管理等全流程,同时也牵涉到财务系统和资产系统两大信息孤岛。这两个系统之间数据不互通,导致资产的账实信息无法同步,无法真正实现资产管理的账实一致。 固定资产系统作为固定资产管理的业务系统,负责资产的采购申请、验收入…

IDEA2023.1配置Git

一、前言 在使用新设备整理git项目时&#xff0c;报了以下问题&#xff0c;在整理项目的同时&#xff0c;做下记录。 二、下载git 2.1.官网下载git 官网下载地址&#xff1a; git官网&#xff0c;如下图所示&#xff1a; 如果选方法二&#xff0c; 接下来会让选择系统&#…

Halcon得出三角形内切圆

Halcon得出三角形内切圆 news2023/5/27 7:14: 目录 一、得出三角形的三个角点二、用类似尺规作图法得出三角形圆心 1、以三角形三角点画出圆形轮廓2、求出三角形轮廓与圆形轮廓之间的交点3、获得角平分线&#xff0c;三边角平分线交点为圆心三、求出圆心到边最短距离即半径 …

接口自动化测试框架-Requests库简介及安装

接口测试工具的不足点&#xff1a; 测试数据不可控制 无法测试加密接口 扩展能力不足 Ps&#xff1a;对上述问题&#xff0c;Robot Framework都能满足&#xff0c;但是其脚本的可读性差是它最大弱点&#xff0c;如果需要为它开发系统关键字&#xff0c;还不如直接写Python程…

LiangGaRy-学习笔记-Day19

1、回顾知识 1.1、文件系统说明 xfs与ext4文件系统 CentOS7以上&#xff1a;默认的就是XFS文件系统 xfs 使用的就是restore、dump等工具 CentOS6默认的就是ext4文件系统 extundelete工具就是用于ext4系统 1.2、回顾Linux文件系统 Linux文件系统是由三个部分组成 inode文…

01 云原生生态系统解读

云计算的技术革命 互联网时代的历程 云计算到底是什么 云计算历程 云平台的优缺点 优势 稳定性&#xff1a;云平台大量资源&#xff0c;分布式集群部署&#xff0c;保障服务永不宕机&#xff0c;几个9弹性扩展&#xff1a;按需索取&#xff0c;一键秒级开通需要的资源安全性&…

500道网络安全/WEB安全面试题合集!附答案解析

前言 随着国家政策的扶持&#xff0c;网络安全行业也越来越为大众所熟知&#xff0c;想要进入到网络安全行业的人也越来越多。 为了拿到心仪的 Offer 之外&#xff0c;除了学好网络安全知识以外&#xff0c;还要应对好企业的面试。 作为一个安全老鸟&#xff0c;工作这么多年…

vue3+element-plus的后台管理系统模板 和 vue3+ant-design-vue的后台管理系统模板

项目介绍 规范&#xff1a;后台系统模板&#xff0c;按照企业级别的规范搭建的。 权限控制&#xff1a;通过后端返回的路由表&#xff08;这个路由表是由前端这边在系统配好的然后存储在后端的&#xff09;来动态渲染菜单和注册路由&#xff0c;同时也根据页面内的接口权限对页…

能用excel批量提取网页内特定数据吗?

这个需求其实是采集数据&#xff0c;用第三方软件比较合适&#xff0c;当然&#xff0c;用excel也可以批量提取网页内特定文字。请按照以下步骤操作&#xff1a; 1. 打开要提取的网页&#xff0c;并选中要提取的文字&#xff0c;例如一个表格里的数据。 2. 复制选中的文字。 …

你的 ChatGPT 使用姿势是错的!告诉你 4 个使用 ChatGPT 的小技巧

大部分人使用 ChatGPT 的方式都是错的&#xff0c;比如&#xff1a; 没有在提问时提供案例。忽略了可以通过设置 ChatGPT 的角色来控制它的行为。没有提供过多有效信息&#xff0c;而是让 ChatGPT 猜猜猜。 之所以会犯这些错误&#xff0c;是因为我们使用 ChatGPT 时还停留在…

HarmonyOS3 Stage模型介绍

Stage模型是HarmonyOS 3.1 Develper Preview&#xff08;API 9&#xff09;版本开始新增的模型&#xff0c;也是目前HarmonyOS主推且会长期演进的模型。在该模型中&#xff0c;由于提供了AbilityStage、WindowStage等类作为应用组件和Window窗口的“舞台”&#xff0c;因此称这…

一款红队批量脆弱点搜集工具

功能 指纹识别:调用“三米前有香蕉皮“前辈工具&#xff0c;他的工具比finger好用 寻找资产中404&#xff0c;403&#xff0c;以及网页中存在的其他薄弱点&#xff0c;以及需要特定路径访问的资产 后续会把nuclei加进来 目前只有windows可以用 使用 第一次使用脚本请运行p…

Neo4j安装配置教程

目录结构 前言Neoj4简介安装JDKNeo4j安装步骤Neo4j下载解压Neo4j压缩包配置环境变量启动Neo4j执行命令报错&#xff0c;报错信息如下&#xff1a; 启动Neo4j&#xff0c;再次测试浏览器访问Neo4j参考链接 前言 安装所需配件网盘一键下载。以下描述中&#xff0c;官网下载均有描…

1、2、3类LSA解析

拓扑 需求 &#xff08;1&#xff09;企业核心机房&#xff0c;连接不同楼宇&#xff0c;实现不同楼宇互通&#xff1b; &#xff08;2&#xff09;企业核心机房设置为OSPF骨干区域&#xff1b; &#xff08;3&#xff09;其他办公楼宇为非骨干区域&#xff0c;通过路由器与…

Vue+SpringBoot打造超市商品管理系统(附源码文档)

作者主页&#xff1a;Designer 小郑 作者简介&#xff1a;Java全栈软件工程师一枚&#xff0c;来自浙江宁波&#xff0c;负责开发管理公司OA项目&#xff0c;专注软件前后端开发、系统定制、远程技术指导。CSDN学院、蓝桥云课认证讲师&#xff0c;全栈领域优质创作者。 目录 一…