You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现每年每日展示不同的嵌入YouTube视频?

问题:将365个视频的播放列表与一年每一天关联展示

我已经钻研数月仍未解决这个问题:我有一个包含365个视频的播放列表,希望把每个视频和一年中的每一天对应起来,展示在网站上用来激励项目里的孩子。

目前进展

  • 我需要用Moment.js处理日期,已经了解了用它操作日期的方法
  • 有人给了我一段脚本,但完全不知道怎么实现:
var today = new Date();
var dd = String(today.getDate()).padStart(2, '0');
var mm = String(today.getMonth() + 1).padStart(2, '0'); //January is 0!
var yyyy = today.getFullYear();

today = mm + '/' + dd + '/' + yyyy;


if(today == "07/07/2022"){
$("iframe").attr('src','https://www.youtube.com/embed/z7plt65m0Ts');
}else if(today == "08/29/21"){
$("iframe").attr('src','some another video url');
}else if(today == "08/30/21"){
$("iframe").attr('src','some another video url');
}
  • 我还找到一篇介绍如何根据日期显示/隐藏div的文章,但不知道怎么扩展到一年的每一天

解决方案

1. 用Moment.js简化日期处理

引入Moment.js后,它能直接获取今天是一年中的第几天(范围1-365/366),彻底避免写365个if-else判断的繁琐。

2. 建立视频映射表

创建一个数组,索引对应一年中的天数(注意数组索引从0开始,所以第1天对应索引0),每个元素存放对应日期的视频嵌入链接:

// 示例:按顺序填入365个视频链接
const videoMap = [
  "https://www.youtube.com/embed/day1-video", // 第1天
  "https://www.youtube.com/embed/day2-video", // 第2天
  // ... 依次填入剩下的363个视频链接
];

3. 核心逻辑实现

通过Moment.js获取当天的年中天数,直接从映射表中取对应视频链接,更新iframe的地址:

// 获取今天是一年中的第几天(1-365)
const dayOfYear = moment().dayOfYear();
// 数组索引减1匹配对应视频
const targetVideo = videoMap[dayOfYear - 1];
// 更新iframe的播放链接
$("iframe").attr('src', targetVideo);

4. 闰年处理

如果遇到闰年,第366天可以单独设置视频,或者复用第365天的内容:

const dayOfYear = moment().dayOfYear();
let targetVideo;

if (dayOfYear === 366) {
  // 闰年第366天的专属视频链接
  targetVideo = "https://www.youtube.com/embed/leap-day-video";
} else {
  targetVideo = videoMap[dayOfYear - 1];
}

$("iframe").attr('src', targetVideo);

5. 初始化与容错

  • 确保页面加载完成后再执行脚本,用jQuery的$(document).ready()包裹
  • 为避免数组缺失链接导致出错,添加默认视频兜底:
$(document).ready(function() {
  const videoMap = [/* 你的365个视频链接数组 */];
  const dayOfYear = moment().dayOfYear();
  let targetVideo = videoMap[dayOfYear - 1];

  // 如果没有对应链接,使用默认视频
  if (!targetVideo) {
    targetVideo = "https://www.youtube.com/embed/default-video";
  }

  $("iframe").attr('src', targetVideo);
});

内容的提问来源于stack exchange,提问作者Jon Sanders

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 00:09:21