加载中

HTML

文章分类

浏览该分类下的所有文章

29 篇文章 3

博客文章“部分展示+验证解锁”实现

本文介绍在博客中实现“部分展示+验证解锁”的阅读限制功能。通过自动计算文章高度,仅显示前1/3,并在底部加入虚化遮罩和“查看全文”按钮,引导用户扫码关注公众号、发送关键词获取验证码。核心实现包括:HTML 结构划分内容、解锁区和验证弹窗;CSS 使用 max‑height 与自定义变量控制截断高度、平滑过渡和视觉遮罩;JavaScript 负责全局解锁状态存储、动态计算1/3高度、验证码校验及解锁动画。实现要点强调高度计算技巧、CSS 变量动态设置、动画平滑以及 localStorage 持久化。文末提出后端 API 验证、微信自动回复、验证码有效期、统计分析和 A/B 测试等后续优化方向。

输入QQ号自动获取昵称

为提升博客评论体验,实现在QQ号输入框失去焦点时自动调用 uapis.cn 接口获取QQ昵称、头像并填入相应字段。核心实现包括正则校验QQ号、使用jQuery $.ajax 异步请求、在主评论表单和回复框中分别绑定 blur 事件调用 fetchQQNickname 函数。经过多接口对比,最终选用信息完整且支持CORS的 uapis.cn API,并在代码中加入错误日志、前端格式校验等安全措施。文中还提出缓存、加载提示、备用接口及后端代理等优化建议。该功能已在友情链接/留言板和文章详情页上线,显著简化用户填写流程,提升交互体验。

AI对话机器人技术实现文档

本项目在博客页面实现基于Web的AI对话机器人,提供基于文章内容的智能问答。核心功能包括上下文问答、打字机逐字显示、暂停/继续、对话历史本地持久化、快捷常见问题以及响应式布局。技术选型采用原生HTML5 + CSS3 + JavaScript、Marked.js、Highlight.js、Font Awesome,后端通过RESTful API调用AI服务;数据存储使用LocalStorage。系统分为用户界面层、交互逻辑层、数据处理层和服务接口层,AI生成过程通过状态机管理(idle → thinking → generating → paused → completed)。实现重点在打字机效果与增量Markdown渲染同步、暂停状态持久化及多状态切换的稳定性,均通过增量渲染、历史记录标记和统一状态变量等方案解决。

为博客每日一句添加音频播放功能

本文介绍在博客“每日一句”模块中添加英文音频播放功能的完整实现过程。首先分析需求,确定需通过后端代理解决有道词典API的 CORS 限制,提供 `/api/daily-quote/voice` 接口返回音频 URL。随后在前端添加圆形播放按钮,使用 HTML5 Audio API 实现播放、暂停及结束状态的切换,并通过 CSS 设置默认、播放中(粉色脉冲)两种视觉效果,实现 PC 与移动端的响应式适配。文中还总结了跨域代理、DOM 加载时机、响应式设计等关键技术点及用户体验细节,展示了一个前后端协同、兼顾 UI 与交互的实用小功能。

使用自定义图片作为Emoji表情的技术实现

本文介绍在 Web 项目中实现基于自定义 PNG 图片的 Emoji 系统的完整方案。通过在 /static/img/emoji/ 统一存放表情图片,并采用有意义的英文/拼音命名,使用 JavaScript 定义路径、文件名列表,利用正则 \[:name:\] 将文本代码转换为 <img> 标签实现显示;在编辑器中点击面板插入对应 <img>,提交前再将图片恢复为 [:name:] 纯文本存储。配套 CSS 设定内联表情和响应式面板样式,并提供面板显示/隐藏、点击冒泡控制等交互逻辑。进阶可加入 IntersectionObserver 懒加载、localStorage 记录最近使用、按分类展示等功能。方案优势在于纯文本存储便于查询、可随时扩展新表情、跨平台兼容且视觉统一。

视觉盛宴:手把手教你实现一个现代化的弹幕墙

本文系统阐述了如何打造现代化弹幕墙,包括采用玻璃拟态风格与多主题配色的视觉设计,利用 transform+keyframes 实现流畅滚动并通过轨道管理与安全轨道检测防止弹幕重叠。针对不同设备和全屏/非全屏状态,提供动态轨道数计算、居中或顶部布局的响应式方案,并实现速度调节、暂停播放等交互控制。最后给出 GPU 加速、DOM 回收、对象池等性能优化措施,形成视觉吸引、交互顺畅且易于扩展的弹幕系统。

双层缓存+响应式设计:博客每日一句功能完美落地教程

本文详细介绍在博客底部实现“每日一句”功能的完整方案。后端采用 Spring Boot,使用 RestTemplate 调用有道词典 API,并通过 ConcurrentHashMap 按日期缓存,提供降级备用句子;前端采用原生 JavaScript、CSS3,利用 fetch 拉取数据并存入 localStorage,实现双层缓存,避免重复请求。通过 CSS 省略号与 .expanded 类实现长句展开收起,配合媒体查询实现桌面、平板、手机的响应式布局。整体架构保证每日更新、稳定可靠、性能优化和良好交互体验。

个人博客的代码块折叠/展开功能

为解决博客中长代码块影响阅读,作者实现了零依赖、智能折叠的代码块组件。采用 CSS max‑height 过渡实现平滑展开/收起,具备语言自动识别、语法高亮、复制、ARIA 可访问性及响应式布局。核心包括基于实际渲染的行高计算、动画防抖锁和 Clipboard API 复制。实验显示首屏加载降低11%、交互延迟降28%、移动端阅读率提升40%。文中还讨论了主题兼容、动画冲突、触摸体验等挑战,并展望虚拟滚动、状态持久化等后续优化。

博客实战:如何实现精准的“邮件直达评论”深层链接功能

本文针对博客邮件通知中“查看回复”只能定位到页面顶部、在折叠或动态加载的评论区找不到目标的问题,提供了完整的深层链接实现方案。后端在生成邮件链接时递归计算目标评论的顶级父评论 ID(Thread ID),并将 commentId、threadId 作为 URL 参数;前端通过 initDeepLink 脚本解析参数,判断评论是否已显示,若被折叠则自动展开并轮询 AJAX 加载完成后滚动定位,采用双重 scrollIntoView 纠正图片懒加载导致的偏移;最后使用 teal 颜色的呼吸灯动画高亮目标并在 5 秒后淡出。该方案实现了定位准确、体验平滑、视觉友好的评论深层链接功能。

留言板表情系统技术实现:从代码输入到直观显示的演进

文章回顾了博客留言板表情系统从纯文本代码([:表情名:])到所见即所得图片显示的完整技术演进。最初方案存储简单但用户需记忆大量代码,交互不直观且易出错。重构后采用 contenteditable + 隐藏 textarea,实现编辑区实时插入表情图片、双向同步代码与图片。通过动态生成的表情面板、光标精准插入、移动端响应式布局与触摸优化,以及懒加载与防抖等性能手段,兼顾跨浏览器兼容性和加载失败回退。对比实验显示,表情查找时间从 3‑5 秒降至 1 秒以内,错误率几乎为零,用户满意度提升至 92%。整体实现了直观、快捷且兼容旧数据格式的表情交互体验。

从A标签跳转后JS失效?我踩过的坑和填坑方法

作者在博客从列表页跳转到文章详情页时,发现灯箱、复制按钮等 JS 功能失效,刷新或直接访问则正常。原因是浏览器在普通跳转时复用旧的 JS 上下文或缓存,导致 DOM 尚未就绪而 DOMContentLoaded 不可靠。临时办法是给链接加 target="_self";更根本的做法是让初始化代码具备防御性:在 DOM 完全出现后再执行,监听 load、pageshow 等事件,或使用类似 PageManager 的异步等待元素并重置状态的方案。作者总结经验:不要盲信 DOMContentLoaded,注意页面缓存和前进/后退的影响,可用 MutationObserver 等方式监控 DOM。

现代Web表情选择器组件:分类系统与实现详解

本文详细阐述了基于 Web 的 emoji 表情选择器的分类体系与实现方式。采用七大主题分类(表情、人物、动物、食物、旅行、物体、符号),每类配以图标、表情数量及代表符号,并提供对应的 HTML 结构与示例代码,演示如何通过标签切换和面板展示实现分类切换、表情按钮布局以及完整的分类内容。文章既给出分类设计的原则,也给出可直接复用的代码片段,帮助开发者快速构建专业级表情选择组件。