网站盲盒(JSON 版)功能与设计介绍
一、核心功能定位
这款 “网站盲盒” 是一款轻量级网页工具,核心功能是通过随机抽取机制,让用户探索预设的 “宝藏网站” 集合。用户只需点击操作,即可打破信息浏览的固定路径,以趣味化方式发现新的优质网站资源,适用于网站推荐、资源探索等场景。
二、技术实现逻辑
- 数据加载机制:通过fetchAPI 异步加载外部prizes.json文件,将网站数据(包含网站名称name和访问链接url)存储在prizes数组中,实现数据与页面逻辑的分离,便于后续灵活更新网站列表,无需修改核心代码。
- 随机抽取算法:点击 “开启惊喜” 按钮后,触发openBox()函数。先判断数据是否加载完成(若prizes数组为空,弹出 “奖品还没加载好,稍等~” 提示);加载完成后,通过Math.floor(Math.random() * prizes.length)生成随机索引,从数组中抽取一个网站数据,确保每次抽取结果的随机性。
- 交互状态控制:点击按钮后,按钮立即设置为disabled状态并显示 “加载中…”,避免重复点击;800 毫秒延迟后(模拟 “拆盲盒” 的期待感),弹出中奖提示、打开新窗口跳转至抽中的网站,最后恢复按钮状态为可点击并显示 “再来一个!”,形成完整交互闭环。
三、界面设计亮点
- 视觉风格:采用简约现代风格,以白色卡片(.box)为核心视觉载体,搭配浅灰色背景(#f0f2f5),营造清爽干净的视觉感受;卡片添加 10-30px 模糊阴影,增强层次感,符合当下主流 UI 设计审美。
- 元素布局:通过 Flex 布局(display:flex)将卡片固定在页面居中位置(align-items:center;justify-content:center),无论屏幕尺寸如何变化,始终保持视觉焦点;内部元素(标题、描述、按钮)垂直分布,间距合理(标题下 10px、描述下 40px),引导用户视线自然流动。
- 交互反馈:按钮(button)设计极具细节 —— 默认状态为绿色(#4CAF50)、50px 圆角,hover 时向上偏移 3px 并添加绿色渐变阴影(rgba(76,175,80,.4)),通过微动画增强点击欲望;禁用状态(disabled)变为灰色(#aaa)并修改鼠标样式(not-allowed),清晰传递状态变化。
- 文字设计:标题(h1)使用 2.5em 大字号搭配 “🎁” 表情符号,突出 “盲盒” 主题;描述文字(p)采用灰色(#666),既补充说明又不抢焦点;按钮文字为 1.3em,保证可读性的同时,强化操作引导。
四、用户体验优势
THE END
评论