Javascript 是否根据一天中的时间启用/禁用链接?(30分钟增量)
我有一个下拉的时间,供一个人选择他们希望他们的食物被交付。我想知道是否有一种方法可以在一天中的某段时间过去后禁用每个li项目。这会被视为服务器端还是可以用javascript实现Javascript 是否根据一天中的时间启用/禁用链接?(30分钟增量),javascript,jquery,time,Javascript,Jquery,Time,我有一个下拉的时间,供一个人选择他们希望他们的食物被交付。我想知道是否有一种方法可以在一天中的某段时间过去后禁用每个li项目。这会被视为服务器端还是可以用javascript实现 <ul class="c-dropdown__list time"> <li class="c-dropdown__item--time" data-dropdown-value="ASAP">11:00 - 11:30 AM</li> <li cla
<ul class="c-dropdown__list time">
<li class="c-dropdown__item--time" data-dropdown-value="ASAP">11:00 - 11:30 AM</li>
<li class="c-dropdown__item--time" data-dropdown-value="time">11:30 - 12:00 PM</li>
<li class="c-dropdown__item--time" data-dropdown-value="time">12:00 - 12:30 PM</li>
<li class="c-dropdown__item--time" data-dropdown-value="time">12:30 - 01:00 PM</li>
<li class="c-dropdown__item--time" data-dropdown-value="time">01:00 - 01:30 PM</li>
<li class="c-dropdown__item--time" data-dropdown-value="time">01:30 - 02:00 PM</li>
<li class="c-dropdown__item--time" data-dropdown-value="time">02:00 - 02:30 PM</li>
<li class="c-dropdown__item--time" data-dropdown-value="time">02:30 - 03:00 PM</li>
<li class="c-dropdown__item--time" data-dropdown-value="time">03:00 - 03:30 PM</li>
<li class="c-dropdown__item--time" data-dropdown-value="time">03:30 - 04:00 PM</li>
<li class="c-dropdown__item--time" data-dropdown-value="time">04:00 - 04:30 PM</li>
<li class="c-dropdown__item--time" data-dropdown-value="time">04:30 - 05:00 PM</li>
<li class="c-dropdown__item--time" data-dropdown-value="time">05:00 - 05:30 PM</li>
<li class="c-dropdown__item--time" data-dropdown-value="time">05:30 - 06:00 PM</li>
<li class="c-dropdown__item--time" data-dropdown-value="time">06:00 - 06:30 PM</li>
<li class="c-dropdown__item--time" data-dropdown-value="time">06:30 - 07:00 PM</li>
<li class="c-dropdown__item--time" data-dropdown-value="time">07:00 - 07:30 PM</li>
<li class="c-dropdown__item--time" data-dropdown-value="time">07:30 - 08:00 PM</li>
<li class="c-dropdown__item--time" data-dropdown-value="time">08:00 - 08:30 PM</li>
<li class="c-dropdown__item--time" data-dropdown-value="time">08:30 - 09:00 PM</li>
</ul>
上午11:00-11:30
- 11:30-12:00 PM
下午12:00-12:30
下午12:30-01:00
- 01:00-01:30 PM
- 01:30-02:00 PM
下午02:00-02:30
下午02:30-03:00
下午3:00-03:30
下午03:30-04:00
下午4:00-04:30
下午4:30-05:00
下午5:00-5:30
下午5:30-06:00
- 06:00-06:30 PM
- 06:30-07:00 PM
07:00-07:30下午
- 07:30-08:00 PM
- 08:00-08:30 PM
- 08:30-09:00 PM
谢谢大家!
这会被视为服务器端还是可以通过
javascript
<ul class="c-dropdown__list time">
<li class="c-dropdown__item--time" data-dropdown-value="ASAP">11:00 - 11:30 AM</li>
<li class="c-dropdown__item--time" data-dropdown-value="time">11:30 - 12:00 PM</li>
<li class="c-dropdown__item--time" data-dropdown-value="time">12:00 - 12:30 PM</li>
<li class="c-dropdown__item--time" data-dropdown-value="time">12:30 - 01:00 PM</li>
<li class="c-dropdown__item--time" data-dropdown-value="time">01:00 - 01:30 PM</li>
<li class="c-dropdown__item--time" data-dropdown-value="time">01:30 - 02:00 PM</li>
<li class="c-dropdown__item--time" data-dropdown-value="time">02:00 - 02:30 PM</li>
<li class="c-dropdown__item--time" data-dropdown-value="time">02:30 - 03:00 PM</li>
<li class="c-dropdown__item--time" data-dropdown-value="time">03:00 - 03:30 PM</li>
<li class="c-dropdown__item--time" data-dropdown-value="time">03:30 - 04:00 PM</li>
<li class="c-dropdown__item--time" data-dropdown-value="time">04:00 - 04:30 PM</li>
<li class="c-dropdown__item--time" data-dropdown-value="time">04:30 - 05:00 PM</li>
<li class="c-dropdown__item--time" data-dropdown-value="time">05:00 - 05:30 PM</li>
<li class="c-dropdown__item--time" data-dropdown-value="time">05:30 - 06:00 PM</li>
<li class="c-dropdown__item--time" data-dropdown-value="time">06:00 - 06:30 PM</li>
<li class="c-dropdown__item--time" data-dropdown-value="time">06:30 - 07:00 PM</li>
<li class="c-dropdown__item--time" data-dropdown-value="time">07:00 - 07:30 PM</li>
<li class="c-dropdown__item--time" data-dropdown-value="time">07:30 - 08:00 PM</li>
<li class="c-dropdown__item--time" data-dropdown-value="time">08:00 - 08:30 PM</li>
<li class="c-dropdown__item--time" data-dropdown-value="time">08:30 - 09:00 PM</li>
</ul>
您需要在服务器端执行此操作。如果您在客户端执行此操作,则时间将取自用户的计算机,不一定准确(例如,如果他们有意将计算机时钟设置为提前15分钟)。如果您不担心不同客户端计算机时区/时区之间的时间冲突,您可以使用javascript实现这一点 首先,在项目上设置数据属性,以说明最长显示时间:
<ul class="c-dropdown__list time">
<li class="c-dropdown__item--time" data-dropdown-value="ASAP" data-max="1130">11:00 - 11:30 AM</li>
<li class="c-dropdown__item--time" data-dropdown-value="time" data-max="1230">11:30 - 12:00 PM</li>
<li class="c-dropdown__item--time" data-dropdown-value="time" data-max="1230">12:00 - 12:30 PM</li>
<li class="c-dropdown__item--time" data-dropdown-value="time" data-max="1300">12:30 - 01:00 PM</li>
<li class="c-dropdown__item--time" data-dropdown-value="time" data-max="1330">01:00 - 01:30 PM</li>
<li class="c-dropdown__item--time" data-dropdown-value="time" data-max="1400">01:30 - 02:00 PM</li>
<li class="c-dropdown__item--time" data-dropdown-value="time" data-max="1430">02:00 - 02:30 PM</li>
<li class="c-dropdown__item--time" data-dropdown-value="time" data-max="1500">02:30 - 03:00 PM</li>
<li class="c-dropdown__item--time" data-dropdown-value="time" data-max="1530">03:00 - 03:30 PM</li>
<li class="c-dropdown__item--time" data-dropdown-value="time" data-max="1600">03:30 - 04:00 PM</li>
<li class="c-dropdown__item--time" data-dropdown-value="time" data-max="1630">04:00 - 04:30 PM</li>
<li class="c-dropdown__item--time" data-dropdown-value="time" data-max="1700">04:30 - 05:00 PM</li>
<li class="c-dropdown__item--time" data-dropdown-value="time" data-max="1700">05:00 - 05:30 PM</li>
<li class="c-dropdown__item--time" data-dropdown-value="time" data-max="1730">05:30 - 06:00 PM</li>
<li class="c-dropdown__item--time" data-dropdown-value="time" data-max="1800">06:00 - 06:30 PM</li>
<li class="c-dropdown__item--time" data-dropdown-value="time" data-max="1830">06:30 - 07:00 PM</li>
<li class="c-dropdown__item--time" data-dropdown-value="time" data-max="1900">07:00 - 07:30 PM</li>
<li class="c-dropdown__item--time" data-dropdown-value="time" data-max="1930">07:30 - 08:00 PM</li>
<li class="c-dropdown__item--time" data-dropdown-value="time" data-max="2000">08:00 - 08:30 PM</li>
<li class="c-dropdown__item--time" data-dropdown-value="time" data-max="2030">08:30 - 09:00 PM</li>
</ul>
上午11:00-11:30
- 11:30-12:00 PM
- 12:00-12:30 PM
12:30-01:00 PM
- 01:00-01:30 PM
- 01:30-02:00 PM
- 02:00-02:30 PM
- 02:30-03:00 PM
- 03:00-03:30 PM
- 03:30-04:00 PM
- 04:00-04:30 PM
- 04:30-05:00 PM
- 05:00-05:30 PM
- 05:30-06:00 PM
- 06:00-06:30 PM
- 06:30-07:00 PM
- 07:00-07:30 PM
- 07:30-08:00 PM
- 08:00-08:30 PM
- 08:30-09:00 PM
然后使用javascript,您可以循环检查当前时间是否小于最大时间。如果为true,则隐藏元素:
// current time
var date = new Date();
//concat hour and minute
var check = date.getHours() + "" + date.getMinutes();
//get list of items
var times = document.getElementsByClassName("c-dropdown__item--time");
//loop through and compare
for (var i = 0; i < times.length; i++) {
var maxtime = parseInt(times[i].getAttribute("data-max"));
if(maxtime < check) {
//set display to none
times[i].style.display = "none";
}
}
//当前时间
变量日期=新日期();
//每小时每分钟
var check=date.getHours()+“”+date.getMinutes();
//获取项目列表
var times=document.getElementsByClassName(“c-下拉菜单项--time”);
//循环并比较
对于(var i=0;i
您可以在任何一方都这样做,但这是您的最小问题。你有没有考虑过你的用户的时区可能与你的服务器的不同?@FrédéricHamidi它只会是本地的(EST),因为传递的半径仅在50英里以内。好吧,那么,时区问题不会影响你。现在,“禁用”项目(我假设您希望使其不可选择,因为