HTML01-知云接力

embedded/2025/2/8 12:59:58/

HTML01-知云接力

后端人员做前端样式的调试,真的兴趣不了一点!在此记录一些前端样式的个人小demo
知云接力(云上风暴)-起初我想做一个小游戏类型的项目,云朵上展示我每天学习的内容,这个知识点每天都会掉落一格,在界面中间部分(或者自己设置复习deadline),当云朵掉落到不同的警戒线会变为不同的颜色,每次复习之后,点击知识点,可以输入你的学习记录,然后该云朵就会上移一格。

以下是这个demo的完成20%代码

<!DOCTYPE html>
<html lang="zh-CN"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>记忆游戏</title><style>body {font-family: Arial, sans-serif;margin: 0;padding: 0;display: flex;justify-content: center;align-items: center;height: 100vh;background-color: #f0f0f0;}.grid {display: grid;grid-template-columns: repeat(60, 20px);/* 100列 */grid-template-rows: repeat(30, 20px);/* 30行 */gap: 2px;}.cell {width: 20px;height: 20px;background-color: #87CEEB;border: 1px solid #ccc;display: flex;justify-content: center;align-items: center;font-size: 10px;cursor: pointer;}.cell.falling {background-color: #FF6347;}</style></head><body><div class="grid" id="gameGrid"><!-- 动态生成的方格 --></div><script>// 模拟知识点数据const knowledgePoints = [{category: '数学',content: '微积分'},{category: '编程',content: 'JavaScript'},{category: '历史',content: '二战'},{category: '科学',content: '物理'}];// 生成方格const grid = document.getElementById('gameGrid');const rowCount = 30;const colCount = 60;function createGrid() {for (let row = 0; row < rowCount; row++) {for (let col = 0; col < colCount; col++) {const cell = document.createElement('div');cell.className = 'cell';cell.dataset.row = row;cell.dataset.col = col;grid.appendChild(cell);}}}// 初始化游戏createGrid();// 模拟知识点掉落let currentRow = 0;function dropKnowledgePoints() {for (let col = 0; col < colCount; col++) {const cell = document.querySelector(`[data-row="${currentRow}"][data-col="${col}"]`);if (knowledgePoints[col]) {cell.innerText = currentRow;// cell.innerText = knowledgePoints[col].content;}cell.addEventListener('click', handleCellClick);if (currentRow > 0) {const oldCell = document.querySelector(`[data-row="${currentRow - 1}"][data-col="${col}"]`);oldCell.innerText = '';oldCell.removeEventListener('click', handleCellClick);}}currentRow++;}// 处理方格点击事件function handleCellClick(event) {const cell = event.target;const blogUrl = prompt('请输入今天的学习过程地址:');if (blogUrl) {cell.innerText = '';cell.removeEventListener('click', handleCellClick);moveUpCell(cell);} else {cell.classList.add('falling');}}// 方格向上移动function moveUpCell(cell) {const row = parseInt(cell.dataset.row, 10);const col = parseInt(cell.dataset.col, 10);if (row > 0) {const newCell = document.querySelector(`[data-row="${row - 1}"][data-col="${col}"]`);newCell.innerText = cell.innerText;newCell.addEventListener('click', handleCellClick);cell.innerText = '';}}// 初始化知识点掉落dropKnowledgePoints();// 模拟每一天的时间流逝setInterval(() => {dropKnowledgePoints();}, 10000); // 每秒钟掉落一行</script></body>
</html>

http://www.ppmy.cn/embedded/160541.html

相关文章

OpenEuler学习笔记(二十):搭建私有AI服务

在OpenEuler上搭建私有AI服务涉及多个步骤&#xff0c;包括环境准备、依赖安装、模型部署等。 1. 环境准备 首先&#xff0c;确保你的OpenEuler系统已经安装并更新到最新版本。 sudo dnf update -y2. 安装必要的软件包 安装一些基础工具和依赖项&#xff1a; sudo dnf ins…

Linux Windows macOS如何安装Ollama

安装Ollama 安装Ollama的步骤相对简单&#xff0c;以下是基本的安装指南&#xff1a; 访问官方网站&#xff1a;打开浏览器&#xff0c;访问Ollama的官方网站。 下载安装包&#xff1a;根据你的操作系统&#xff0c;选择相应的安装包进行下载。 运行安装程序&#xff1a;下载完…

【25考研】南开大学计算机复试攻略及注意事项

一、复试内容 复试为差额复试&#xff0c;各专业分别按录取成绩由高到低进行录取。复试成绩低于60分(不含60分)&#xff0c;确定为复试不合格&#xff0c;复试不合格的考生不予录取&#xff0c;不再进行录取成绩的加权计算。 复试分为C/C编程能力测试、专业综合基础测试、面试…

Maven 插件与目标(Goals)

Maven 插件是 Maven 生态的重要组成部分&#xff0c;它们提供了扩展功能&#xff0c;使得 Maven 不仅能进行构建管理&#xff0c;还能执行编译、打包、测试、文档生成、部署等多种任务。 在 Maven 中&#xff0c;每个插件都由多个 目标&#xff08;Goal&#xff09; 组成。目标…

mongodb 使用内存过大分析

os 分析 内存使用 ps aux|head -1;ps aux|grep -v PID|sort -rn -k 4|head -10swap 使用 for i in $(ls /proc | grep "^[0-9]" | awk $0>100); do awk /Swap:/{aa$2}END{print "$i",a/1024"M"} /proc/$i/smaps;done| sort -k2nr | headmo…

【Linux网络编程】之配置阿里云安全组

【Linux网络编程】之配置阿里云安全组 配置阿里云安全组阿里云安全组的概念配置安全组规则入方向基本概念补充ICMP协议安全组配置UDP协议安全组配置 出方向 配置云服务器主机的防火墙什么是防火墙Linux中防火墙的管理工具防火墙的作用常用命令介绍&#xff08;firewalld&#x…

【深度学习】图像识别模型与训练策略

一、预处理与数据增强模块 transforms transforms通常指torchvision.transforms 1.调整尺寸 transforms.Resize()&#xff1a;将输入图像的尺寸调整为指定的大小 2.裁剪 transforms.CenterCrop()&#xff1a;从图像中心进行裁剪&#xff0c;剪裁出指定大小的区域 transf…

leetcode_双指针 557. 反转字符串中的单词 III

557. 反转字符串中的单词 III 给定一个字符串 s &#xff0c;你需要反转字符串中每个单词的字符顺序&#xff0c;同时仍保留空格和单词的初始顺序。思路: 1.首先用split()切割字符串中用空格分隔的单词2.用切片法反转每个单词3.用join()把反转后的单词用空格连接 class Solu…