前端 | 易混词卡片切换

文章目录

  • 📚实现效果
  • 📚模块实现解析
    • 🐇html
    • 🐇css
    • 🐇javascript

📚实现效果

  • 绘制单词卡片效果,实现点击左半部分上翻,点击右半部分下翻。
    在这里插入图片描述

📚模块实现解析

🐇html

  • 搭个框架
    <!-- 左边 -->
    <div class="count"><!-- 易混词 --> <div id="cloudtitle">那些讨厌的<span>易混词</span></div><p style="font-size: 0.9vw; color: #575656;">点击<span class="hint"></span>半部分<span class="hint"></span>翻,点击<span class="hint"></span>半部分<span class="hint"></span>翻。</p><div class="flashcard-container"><div class="flashcard"><h3>compliment</h3><p>n.致意,问候;赞美,称赞</p><p>v.赞扬;称赞</p><h3>complement</h3><p>v.补充,补足,使完美</p><p>n.补充物;补足物</p><h3>implement</h3><p>v.实施,贯彻,执行;使生效</p><P>n.工具,器具;户外用具</P><br><h3>AI造句助记</h3><p>当你成功<span>implement</span>了一项计划,你会发现它<span>complements</span>你的整体工作,而你的努力也会得到<span>compliments</span></p></div><div class="flashcard"><h3>executive</h3><p>n.经理,主管,行政部门</p><p>adj.执行的,行政的;高级的</p><h3>exclusive</h3><p>adj.独占的;高档的;排斥的</p><p>adj.不包括...的</p><p>n.独家新闻,独家报道</p><h3>excessive</h3><p>adj.过分的,过多的</p><br><h3>AI造句助记</h3><p>这家俱乐部对于特定的高管和商界精英开放,是一个<span>exclusive</span>的社交圈子。他们在这里能够享受到奢华待遇,符合他们高<span>executive</span>级别的身份,但有时<span>excessive</span>的奢侈也让人担忧。</p></div></div>
    </div> 
    
  • 新一组单词即新增一组flashcard,对应flashcard可参照下述prompt进行快速生成↓
    <div class="flashcard"><h3>executive</h3><p>n.经理,主管,行政部门</p><p>adj.执行的,行政的;高级的</p><h3>exclusive</h3><p>adj.独占的;高档的;排斥的</p><p>adj.不包括...的</p><p>n.独家新闻,独家报道</p><h3>excessive</h3><p>adj.过分的,过多的</p><br><h3>AI造句助记</h3><p>这家俱乐部对于特定的高管和商界精英开放,是一个<span>exclusive</span>的社交圈子。他们在这里能够享受到奢华待遇,符合他们高<span>executive</span>级别的身份,但有时<span>excessive</span>的奢侈也让人担忧。</p>
    </div>
    
    • 请参照上述格式,生成confess、congress、compress的对应词卡,我希望最后的AI造句是将上述四个单词按上述形式串联成一句语义连贯的话。返回↓
      <div class="flashcard"><h3>confess</h3><p>v.坦白,供认</p><p>v.忏悔</p><h3>congress</h3><p>n.国会</p><p>n.代表大会,会议</p><h3>compress</h3><p>v.压缩,浓缩</p><p>n.紧缩</p><br><h3>AI造句助记</h3><p>他最终不得不<span>confess</span>了自己的罪行,在国际<span>congress</span>上他公开承认了错误。为了节省空间,他需要<span>compress</span>所有的数据,在这场会议上只能说重点。</p>
      </div>
      

🐇css

  • 实现卡片效果(圆角 + 字体设置)
    body{margin: 0;padding: 0;background-color: #f5f3f2;
    }
    .count{margin: 0 auto;/* background-color: pink; *//* height: 200vh; */position: absolute;left: 3%;top:8%;width: 28%;font-family: serif;font-size: 1.5vw;text-align: center;
    }/* 标题 */
    #cloudtitle{margin: 0 auto;margin-top: 35px;
    }
    #cloudtitle span{font-size: 1.5vw;margin-bottom: 3px;font-weight: bold;color: #2966cf;
    }
    /* 易混词 */
    .hint{font-family: 'serif';color: #ecbc41; font-size: 1vw;font-weight: bold;
    }
    .flashcard-container {width: 70%;margin: 0 auto;background: linear-gradient(to bottom, #dbedfb, #f6f9e4);border-radius: 30px;box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);display: flex;flex-direction: column;align-items: center;padding: 20px;transition: transform 0.5s ease;
    }
    .flashcard {width: 100%;padding: 10px;background-color: #fff;color: #333;display: flex;flex-direction: column;align-items: center;border-radius: 30px;text-align: center;
    }
    .flashcard h3 {margin: 0;margin-top: 1.3vw;font-size: 1.3vw;color: #5698c3;
    }
    .flashcard p {font-size: 1.2vw;margin: 1.2px 0;
    }
    .flashcard span{font-size: 1.2vw;color: #ecbc41;font-weight: bold;
    }
    

🐇javascript

  • 实现点击翻页效果
    const flashcardContainer = document.querySelector('.flashcard-container');
    const flashcards = document.querySelectorAll('.flashcard');
    let index = 0;
    let startY;function showCard(index) {flashcards.forEach((card, idx) => {if (idx === index) {card.style.display = 'flex';} else {card.style.display = 'none';}});
    }flashcardContainer.addEventListener('click', function (e) {const rect = flashcardContainer.getBoundingClientRect();const clickX = e.clientX - rect.left;const containerWidth = rect.width;if (clickX < containerWidth / 2) {index = (index - 1 + flashcards.length) % flashcards.length;} else {index = (index + 1) % flashcards.length;}showCard(index);
    });
    showCard(index);
    
  • 补充滚轮翻页(但由于只适配电脑端,最后没有应用)
    flashcardContainer.addEventListener('wheel', function (e) {if (e.target.closest('.flashcard-container') === flashcardContainer) {const deltaY = e.deltaY > 0 ? 1 : -1;index = (index + deltaY + flashcards.length) % flashcards.length;showCard(index);e.preventDefault();}
    })
    
    • e.preventDefault();排除词卡滚动翻页对整体页面的干扰影响。

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

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

相关文章

品鉴中的个人风格:如何形成自己与众不同的红酒品鉴体验

品鉴云仓酒庄雷盛红酒不仅是一种感官体验&#xff0c;更是一种个人风格的展现。每个人都有自己与众不同的品味和偏好&#xff0c;通过品鉴红酒&#xff0c;我们可以形成自己与众不同的红酒品鉴体验。 要形成自己与众不同的红酒品鉴体验&#xff0c;首先需要勇于尝试不同类型的红…

conda 常用20个命令

conda常用20个命令 这些命令涵盖了Conda环境管理和包管理的常用功能&#xff0c;可帮助你有效地管理Python环境和软件包。 创建环境&#xff1a; conda create --name myenv这个命令用于创建一个名为myenv的新环境。你可以在--name后面指定环境的名称&#xff0c;并在其后加上…

C++语法之在谈const与模版参数

最近一直在复习C的语法&#xff0c;感觉遇到了不少问题&#xff0c;或许是之前没想的这么深。废话不说&#xff0c;开始说正事。 一、再谈const 有些朋友可能有些疑问&#xff0c;不就是const吗&#xff1f;我知道&#xff0c;const可以给非const赋值&#xff0c;反过来不行&…

通过mvn archetype 创建一个spring boot start 工程

mvn archetype https://maven.apache.org/archetype/index.html 遇到的问题 对于想自定义一个spring-boot-start的同学,比如 Springboot自定义Starter启动器 整个过程很繁琐。 定义属性开关增加 spring boot test start插件定义自动装载 spring.factories or org.springfra…

Webpack模块联邦:微前端架构的新选择

Webpack模块联邦&#xff08;Module Federation&#xff09;是Webpack 5引入的一项革命性特性&#xff0c;它彻底改变了微前端架构的实现方式。模块联邦允许不同的Web应用程序&#xff08;或微前端应用&#xff09;在运行时动态共享代码&#xff0c;无需传统的打包或发布过程中…

javax.net.ssl.SSLException: Received fatal alert: protocol_version已经解决

起因&#xff1a; 在帮别人讲解项目时&#xff0c;将项目的tomcat配置完&#xff0c;点击运行后&#xff0c;报错&#xff0c;信息如标题。 解决办法&#xff1a; 在csdn百度问题&#xff0c;得到的方法主要有几个&#xff1a; 1.jdk要配置在1.8以上&#xff1b; 2.数据库地…

Stable Diffusion是什么?

目录 一、Stable Diffusion是什么&#xff1f; 二、Stable Diffusion的基本原理 三、Stable Diffusion有哪些运用领域&#xff1f; 一、Stable Diffusion是什么&#xff1f; Stable Diffusion是一个先进的人工智能图像生成模型&#xff0c;它能够根据文本描述创造出高质量的图…

Spring IOC容器加载流程原理源码深度剖析

Spring IOC容器加载流程原理源码深度剖析 介绍 在Java开发中&#xff0c;Spring框架是非常常用的一个框架&#xff0c;它提供了很多便捷的功能和特性&#xff0c;其中最重要的就是IOC&#xff08;Inversion of Control&#xff09;容器。Spring IOC容器是Spring框架的核心&am…

邻接矩阵基础入门

引言 邻接矩阵是图论中表示图的一种方式&#xff0c;它通过矩阵来描述图中各顶点之间的连接关系。在邻接矩阵中&#xff0c;图中的每个顶点都对应矩阵中的一行和一列&#xff0c;矩阵中的元素表示顶点之间是否存在边以及边的权重&#xff08;如果是加权图&#xff09;。 定义和…

什么是ip地址?和dns地址的区别是什么?

大家都知道电脑想要上网需要配置ip地址和dns地址&#xff0c;手动配置、自动获取均可&#xff0c;但是ip地址是什么&#xff1f;和dns又有什么区别呢&#xff1f;小编给大家详细解释一下。 IP地址 IP,就是Internet Protocol的缩写&#xff0c;是一种通信协议&#xff0c;我们用…

信息检索(36):ConTextual Masked Auto-Encoder for Dense Passage Retrieval

ConTextual Masked Auto-Encoder for Dense Passage Retrieval 标题摘要1 引言2 相关工作3 方法3.1 初步&#xff1a;屏蔽自动编码3.2 CoT-MAE&#xff1a;上下文屏蔽自动编码器3.3 密集通道检索的微调 4 实验4.1 预训练4.2 微调4.3 主要结果 5 分析5.1 与蒸馏检索器的比较5.2 …

Flink面试整理-了解如何对Flink进行扩展和定制化开发,以满足特定的业务需求

Apache Flink 是一个灵活且可扩展的流处理框架,允许进行定制化开发以满足特定的业务需求。以下是对 Flink 进行扩展和定制化开发的几个主要方向: 1. 自定义算子(Operators) Flink 允许开发者编写自定义算子来实现特定的数据处理逻辑。例如,可以通过扩展 RichMapFunction 或…

AI学习指南概率论篇-条件概率和独立性

AI学习指南概率论篇-条件概率和独立性 概述 在人工智能领域&#xff0c;概率论是一项至关重要的工具。概率论不仅仅是用于量化不确定性&#xff0c;还在AI系统中扮演着关键角色。其中&#xff0c;条件概率和独立性是概率论中重要的概念之一&#xff0c;它们在AI领域有着广泛的…

适配qnx和linux平台的线程管理类封装

概述 封装代码仓库&#xff1a; https://gitee.com/liudegui/my_thread 尝试封装一个基于C11的多线程控制与调度类&#xff0c;适配QNX和Linux平台&#xff0c;它提供了以下主要功能&#xff1a; 线程的创建与销毁管理。线程的优先级调度。线程的CPU亲和性设置。线程的等待与…

[大师C语言(第四篇)]C语言段错误原理研究

C语言段错误原理研究&#xff08;一&#xff09; 段错误&#xff08;Segmentation Fault&#xff09;是C语言程序中常见的错误类型&#xff0c;它通常发生在程序尝试访问非法内存区域时。本文将深入探讨C语言段错误的原理&#xff0c;并分析其背后的技术原理。 段错误的定义 …

matlab人脸识别

在MATLAB中实现人脸识别通常涉及到图像处理、特征提取和分类器的使用。下面是一个简化的MATLAB人脸识别代码的概述&#xff0c;使用了PCA&#xff08;主成分分析&#xff09;作为特征提取方法&#xff0c;以及简单的分类器&#xff08;如最近邻分类器&#xff09;进行分类。请注…

无障碍Web开发:遵循WCAG标准构建包容性用户体验

无障碍Web开发旨在确保所有用户&#xff0c;无论其身体条件或能力如何&#xff0c;都能轻松、有效地访问和使用Web内容。遵循Web Content Accessibility Guidelines (WCAG) 标准是实现这一目标的关键。以下是一些基于WCAG标准的无障碍Web开发实践&#xff0c;以构建更具包容性的…

2024数维杯要点和难点,具体案例

2024数维杯&#xff0c;全称为2024年第九届数维杯大学生数学建模挑战赛&#xff0c;是由内蒙古创新教育学会主办的一项数学建模竞赛。该竞赛旨在培养学生的创新意识及运用数学方法和计算机技术解决实际问题的能力。以下是关于2024数维杯的一些关键信息&#xff1a; 竞赛时间&am…

Django 从零到一:Django环境设置

文章目录 安装 Python 3.11.0创建 Python 虚拟环境激活虚拟环境退出虚拟环境 配置 pip 国内源安装 Django 4.2本章小结 常言道&#xff1a;“工欲善其事&#xff0c;必先利其器”。我们先设置一下需要的环境。 我们使用的软件如下&#xff1a; Python 3.11.0Django 4.2Django…

UNXIU

外设可以对程序存储器和选项字节进行擦除和编程&#xff0c;不能对系统存储器进行操作&#xff0c;因为系统存储器是原厂写入的bootloader程序&#xff0c;不允许修改 对于C8T6程序存储容量是64K&#xff0c;一般写一个程序只占前边很小一部分空间&#xff0c;剩下的大部分空间…