anheyu博客侧边栏创建倒数卡片

anheyu博客侧边栏创建倒数卡片

本文介绍 anheyu 博客侧边栏倒数组件的安装与配置,包含代码、可自定义项、实现原理与常见问题。
AI播客
AI播客
AI 播客
AI 播客

anheyu博客侧边栏创建日历卡片

基于的伍拾柒教程进行修改

i

无需修改主题源文件且代码经过适配

本人大学专业并不与开发相关,仅保证代码可正常运行,不保证其美观性

介绍

博客侧边栏倒数组件是一个轻量级的前端组件,用于在网页侧边栏显示距离目标日期的倒计时,以及今日、本周、本月、本年的进度条和剩余时间。该组件支持响应式设计,在不同设备上都能良好显示。

效果图
倒数组件效果图
倒数组件效果图

功能介绍

核心功能

  • 目标日期倒计时:显示距离目标日期的天数
  • 目标日期信息:显示目标日期的名称和具体日期
  • 今日进度:显示当天的时间进度条和剩余小时数
  • 本周进度:显示本周的时间进度条和剩余天数
  • 本月进度:显示本月的时间进度条和剩余天数
  • 本年进度:显示本年的时间进度条和剩余天数
  • 悬停效果:鼠标悬停时显示剩余时间,隐藏百分比
  • 定时更新:每分钟自动更新一次倒计时和进度条
  • 响应式设计:在不同设备上都能良好显示

技术特点

  • 模块化设计:代码采用模块化结构,易于理解和扩展
  • 性能优化:使用CSS动画和定时更新,避免频繁DOM操作
  • 用户体验:悬停效果增强用户交互体验
  • 样式隔离:使用独立的样式标签,避免与现有样式冲突
  • 兼容性良好:支持所有现代浏览器,代码结构清晰易维护
  • 适配性强:支持Pjax和页面加载,确保在各种场景下正常工作

安装方法

方法一:安和鱼博客系统适配

如果你使用的是安和鱼(AnHeYu)博客系统,可以将以下代码添加到后台侧边栏配置中:

配置步骤

  1. 登录安和鱼博客系统后台(通常为 你的域名/admin
  2. 进入 系统管理系统设置外观配置侧边栏
  3. 将以下代码添加到侧边栏配置中

方法二:外部引入

将代码保存为 countdown.js 文件,然后在HTML中引入:

html
<link rel="stylesheet" href="path/to/countdown.css">
<div class="card-countdown">
  <!-- 倒数组件HTML结构 -->
</div>
<script src="path/to/countdown.js"></script>

自定义配置

倒数组件的样式和行为可以通过修改CSS和JavaScript来调整:

配置项说明
配置项类型默认值说明
targetDateString"2026-02-17"目标日期,格式为YYYY-MM-DD
targetNameString"春节"目标日期的名称
unitsObject包含day, week, month, year时间单位配置
--anzhiyu-mainCSS变量主题主色进度条和倒计时颜色
--anzhiyu-backgroundCSS变量主题背景色进度条背景颜色
updateIntervalNumber600000更新间隔,单位为毫秒

修改目标日期

如果你想修改目标日期和名称,可以调整JavaScript配置:

javascript
const config = {
  targetDate: "2026-02-17", // 修改为你想要的目标日期
  targetName: "春节", // 修改为你想要的目标名称
  // 其他配置...
};

修改时间单位显示

如果你想修改时间单位的显示文本,可以调整JavaScript配置:

javascript
const config = {
  // 其他配置...
  units: {
    day: { text: "今日", unit: "小时" },
    week: { text: "本周", unit: "天" },
    month: { text: "本月", unit: "天" },
    year: { text: "本年", unit: "天" }
  }
};

实现原理

核心功能

  1. 倒计时计算:计算距离目标日期的天数
  2. 进度条计算:计算今日、本周、本月、本年的进度和剩余时间
  3. DOM更新:动态生成进度条和倒计时内容
  4. 定时更新:每分钟自动更新一次倒计时和进度条
  5. 悬停效果:使用CSS过渡实现悬停时的显示/隐藏效果

代码结构

代码结构解析
  1. 配置定义:定义目标日期、名称和时间单位配置
  2. 计算器:提供不同时间单位的进度和剩余时间计算
  3. 更新函数:更新倒计时和进度条显示
  4. 启动函数:初始化和定时更新
  5. 事件监听:支持Pjax和页面加载

注意事项

使用注意事项
  1. 兼容性:该组件使用了现代JavaScript语法,在IE浏览器上可能无法正常工作
  2. 性能:在低配置设备上,定时更新可能会影响性能
  3. 样式冲突:如果你的网站使用了相同的CSS类名,可能会产生样式冲突
  4. 目标日期:确保目标日期设置正确,格式为YYYY-MM-DD
  5. 时区问题:倒计时计算基于本地时区,可能会与服务器时区产生差异

常见问题

Q: 倒计时不显示怎么办?

A: 请检查以下几点:

  1. 确认代码是否正确复制到HTML文件中
  2. 检查浏览器控制台是否有错误信息
  3. 确认目标日期设置正确,格式为YYYY-MM-DD

Q: 进度条不更新怎么办?

A: 进度条会每分钟自动更新一次,如果你想立即更新,可以刷新页面或调用 updateCountdown() 函数。

Q: 如何修改进度条的颜色?

A: 可以修改CSS变量或直接修改CSS样式:

css
:root {
  --anzhiyu-main: #ff4500; /* 修改为你想要的颜色 */
  --anzhiyu-background: #f0f0f0; /* 修改为你想要的背景颜色 */
}

/* 或者直接修改 */
.cd-progress-bar {
  background-color: #ff4500; /* 修改为你想要的颜色 */
}

.cd-item-progress {
  background-color: #f0f0f0; /* 修改为你想要的背景颜色 */
}

总结

博客侧边栏倒数组件是一个功能丰富、易于使用的前端组件,可以为你的网站增添实用的倒计时和进度显示功能。它具有以下特点:

  • ✅ 功能完整,显示目标日期倒计时和各种时间单位的进度
  • ✅ 交互友好,悬停效果增强用户体验
  • ✅ 响应式设计,自动适配不同设备
  • ✅ 性能优化,定时更新避免频繁DOM操作
  • ✅ 可自定义,支持修改目标日期、名称和样式

希望这个教程对你有所帮助,祝你使用愉快!

联系方式

如有问题或建议,欢迎在评论区交流或联系我: 发送邮件


本教程基于anheyu-app主题开发,无需修改主题源文件且代码经过适配 其他博客系统可能需要适当调整。 代码已优化,兼容大部分现代浏览器。

侧边栏地区欢迎卡片教程
anheyu博客添加侧边栏日历卡片

评论区

评论加载中...