如何使用 html 类根据时间记录显示打开/关闭

2023-12-14

我正在尝试使用 Javascript 根据公司在该特定日期的时间显示“打开”或“关闭”。我在 WordPress 上使用主题 Listify,客户可以在其中列出他们的业务。他们可以选择输入一周中每一天的工作时间。我希望能够使用存储在跨度内的数据,然后确定业务是开放还是关闭并显示该数据。

这是我到目前为止的代码:

<p class="business-hour" itemprop="openingHours" content="Monday 8am-17pm">
    <span class="day">Monday</span>
    <span class="business-hour-time">
         <span class="start">8:30 am</span> – <span class="end">5:30 pm</span>
   </span>
</p>

这只是一天的时间,但你应该明白了。我已经找了好几个小时才找到这样的东西。我能找到的只是使用 Javascript 中已经定义的特定时间进行编码。我希望能够使用类的开始和结束来创建开放或封闭。这可能吗?我想是的。我似乎无法正确地做到这一点。

我一直在这里练习,但似乎什么也没弄清楚:http://codepen.io/tetonhiker/pen/KzxRzg

Thanks!


我稍微修改了你的代码,利用date.js:

http://codepen.io/anon/pen/VaGdBK

var da = new Date();
document.getElementById("display").innerHTML = da.toDateString();




//gets the current time. 
//var d = new Date();
var x = document.getElementsByClassName("start")[0].innerText;
var z = document.getElementsByClassName("end")[0].innerText;
//var o = parseInt(x,10);
//var c = parseInt(z,10);

var startTime = Date.parseExact(x, "h:mm tt");
var endTime = Date.parseExact(z, "h:mm tt");

if (da.between(startTime, endTime)){
    $(".open").show();
    $(".closed").hide();
}
else {  
    $(".closed").show();
    $(".open").hide();
}
.open, .closed {
  display: none;
}
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/datejs/1.0/date.min.js"></script>
<span class="day">Monday </span>
<span class="start">8:30 am</span> - 
<span class="end">5:30 pm</span>
<br>
<span id="display"></span>
<div class="open">Shop is open</div>
<div class="closed">Shop is closed</div>

我还没有充分研究它,所以我不知道它在时区方面是如何工作的。您可能需要调整我发布的内容来解决这个问题。

另外:添加了 CSS 规则,以避免在其中一个被 jQuery 隐藏之前显示打开和关闭的短暂闪烁。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 html 类根据时间记录显示打开/关闭 的相关文章