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

求助:如何按指定星期时段显示div内容?需修改现有JS代码

实现按不同星期时段显示/隐藏Div的解决方案

嘿,我来帮你搞定这个按星期时段控制Div显示的需求!你的现有代码只判断了小时,没区分星期和精确到分钟的时段,咱们得把逻辑细化,适配你说的不同日期规则。

首先明确咱们要实现的规则:

  • 周一至周四:10:00-22:30 显示目标内容
  • 周五至周六:10:00-24:30(也就是次日00:30)显示目标内容
  • 周日:11:00-21:30 显示目标内容

核心思路是把时间转换成当天的总分钟数来比较,这样能精确到分钟,避免只看小时的误差(比如22:31就应该隐藏周一到周四的内容)。同时要处理周五/周六的跨天时段,比如周六的24:00-00:30其实是周日的凌晨,这部分也属于周六的显示范围。

下面是修改后的完整代码:

function ShowOnTime(element) {
    var now = new Date();
    var day = now.getDay(); // 注意:0=周日, 1=周一, 2=周二, ..., 6=周六
    var currentMinutes = now.getHours() * 60 + now.getMinutes();
    let startTime, endTime;

    // 根据星期设置对应时段的起止分钟数
    if (day >= 1 && day <= 4) { // 周一至周四
        startTime = 10 * 60; // 10:00 转换成分钟数
        endTime = 22 * 60 + 30; // 22:30 转换成分钟数
    } else if (day === 5 || day === 6) { // 周五至周六
        startTime = 10 * 60; // 10:00
        endTime = 24 * 60 + 30; // 24:30 即次日00:30
        // 处理跨天情况:周日00:00-00:30属于周六的时段范围
        if (day === 0 && currentMinutes <= 30) {
            startTime = 0;
            endTime = 30;
        }
    } else if (day === 0) { // 周日
        startTime = 11 * 60; // 11:00
        endTime = 21 * 60 + 30; // 21:30
    }

    // 判断当前时间是否在时段内,控制元素显示/隐藏
    if (currentMinutes >= startTime && currentMinutes <= endTime) {
        $(element).show();
    } else {
        $(element).hide();
    }
}

// 页面加载完成后立即执行一次,确保初始状态正确
$(document).ready(function() {
    ShowOnTime('#targetDiv'); // 替换成你的目标元素选择器,比如类名.target-content
});

// 可选:每分钟自动更新一次,保证时间临界点自动切换状态
setInterval(function() {
    ShowOnTime('#targetDiv');
}, 60000);

关键细节说明:

  • 用总分钟数比较:把小时和分钟转换成当天的总分钟数,比如10:00就是600分钟,22:30就是1350分钟,这样能精确判断到每分钟的边界
  • 跨天时段处理:周五和周六的结束时间是24:30,对应次日的00:30,所以专门判断了周日凌晨00:00-00:30的情况,依然属于周六的显示时段
  • 初始执行+定时更新:页面加载时立即执行一次,避免页面加载时状态错误;定时器每分钟更新一次,确保到点自动切换显示状态(不需要的话可以删掉定时器部分)
  • 选择器替换:记得把#targetDiv改成你实际要控制的元素选择器,比如如果是类名就写.your-class-name

内容的提问来源于stack exchange,提问作者Artur Rosa

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:22:47