los*_*ons 5 html javascript wordpress html5 datetime
我正在尝试使用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>
Run Code Online (Sandbox Code Playgroud)
这只是一天,但你应该明白这一点.我一直在寻找好几个小时找到这样的东西.我所能找到的只是在Javascript中定义的特定时间进行编码.我希望能够使用类start和end来创建open或closed.这可能吗?我想是的.我似乎无法正确地做到这一点.
我一直在这里练习,但似乎无法解决任何问题:http://codepen.io/tetonhiker/pen/KzxRzg
谢谢!
小智 5
我使用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();
}Run Code Online (Sandbox Code Playgroud)
.open, .closed {
display: none;
}Run Code Online (Sandbox Code Playgroud)
<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>Run Code Online (Sandbox Code Playgroud)
我没有对其进行足够的研究,所以我不知道它在时区方面如何工作。您可能需要调整我发布的内容以解决此问题。
另外:添加了CSS规则,以避免在jQuery隐藏其中之一之前先显示打开和关闭的短暂闪烁。