加载中

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获取 voice URL,后端提供 /api/daily-quote/voice 代理接口解决 CORS 跨域。前端新增圆形播放按钮,配合 CSS 动效显示播放/暂停状态,使用 HTML5 Audio 实现音频加载、播放、结束回调,并在 DOMContentLoaded 后绑定事件。解决了跨域、DOM 加载时机和移动端样式适配等问题,最终实现点击播放、再次点击暂停、播放结束自动恢复的交互效果,提升了用户体验。

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

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

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

本文系统阐述了弹幕墙的完整实现方案。首先明确需求:现代玻璃拟态视觉、流畅滚动、防重叠、交互控制、响应式适配和状态保持。随后介绍了基于玻璃拟态的 UI 设计、六套主题色以及圆角卡片弹幕样式。核心滚动采用 CSS keyframes 与轨道化管理,利用安全轨道检测和智能调度算法避免弹幕重叠。针对 PC 与移动端不同尺寸,提供动态轨道数计算和居中布局策略,实现全屏/非全屏切换时的轨道重算与越界弹幕清理。交互方面支持 0.5‑3 倍速调节、暂停/播放。性能优化包括 transform 动画 GPU 加速、对象池复用、DOM 移除和事件防抖。整体实现了视觉美观、交互流畅、适配性强的现代弹幕墙。

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

本文详细教程展示如何在博客底部实现“每日一句”功能,使用 Spring Boot 后端代理有道词典 API,并通过 ConcurrentHashMap 按日期缓存当天句子,防止频繁调用;前端采用原生 JavaScript 与 localStorage 再次缓存,实现双层缓存降级方案,确保 API 不可用时仍有备用句子。配合 CSS3 响应式布局和文字省略/点击展开交互,使组件在桌面、平板、手机等不同宽度下自适应显示。全文提供完整后端控制器、缓存实现、异常处理、HTML 结构、样式代码及交互脚本,帮助读者快速落地该功能。

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

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

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

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

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

文章回顾了博客留言板从纯文本表情代码([:表情名:])到所见即所得图片显示的技术演进。最初方案存储简洁但用户需记忆70余代码、交互不直观、错误率高。重构后采用 contenteditable <div> 结合代码↔图片转换层,实现实时同步、光标精准插入,并通过动态生成的表情面板提供点击选择。回复框、移动端响应式布局、触摸事件、懒加载与防抖等优化提升了性能。对比数据显示查找时间、错误率、满意度等指标均显著改善。文章还说明了跨浏览器兼容与图片加载失败的处理方案。

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

从列表页点击<a>跳转到文章详情页时灯箱、复制按钮等JS失效,刷新或直接访问却正常。原因是浏览器复用页面缓存,导致脚本未重新初始化。最简解决方案是给链接加 target="_self"。更根本的办法是让初始化代码具防御性:在DOMContentLoaded、load、pageshow等事件中检查关键元素,必要时轮询或使用Promise等待出现,或通过PageManager统一管理。经验教训包括:不要盲目信任DOMContentLoaded、注意前进/后退缓存、采用防御式初始化或MutationObserver。建议先加target="_self"排查,再改进初始化逻辑。

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

本文介绍了一个专业级 Web 表情选择器的实现思路,核心在于将 emoji 按 7 大主题(表情、人物、动物、食物、旅行、物体、符号)进行分类,每类配以图标、数量概览和代表表情。通过 HTML 结构实现标签页与对应面板的切换,示例代码展示了各分类下的 emoji 按情感、手势、动物、饮食、地点、设备等细分,并给出完整的按钮布局和少量 CSS/JS 交互示例,帮助开发者快速构建可扩展、易维护的表情选择组件。