Javascript 如何在特定日期终止div?

Javascript 如何在特定日期终止div?,javascript,html,Javascript,Html,我有75次潜水,我需要在不同的日期到期。我找到了一个js代码来实现这一点。但是当将代码应用于大量div时,可能会非常困难。我可以简单地应用下面的代码吗?如果您有任何建议,请补充 这是我找到的代码 window.onload=function(){ var current=新日期(); var到期日=新日期(“2018年8月7日12:00:00”) var expiry2=新日期(“2018年8月9日12:00:00”) if(current.getTime()>expiry.getTime()

我有75次潜水,我需要在不同的日期到期。我找到了一个js代码来实现这一点。但是当将代码应用于大量div时,可能会非常困难。我可以简单地应用下面的代码吗?如果您有任何建议,请补充

这是我找到的代码

window.onload=function(){
var current=新日期();
var到期日=新日期(“2018年8月7日12:00:00”)
var expiry2=新日期(“2018年8月9日12:00:00”)
if(current.getTime()>expiry.getTime()){
$(“#一”).hide();
$('#two').show();
$('三').show();
}else if(current.getTime()>expiry2.getTime()){
$(“#一”).show();
$('#two').hide();
$('三').show();
}
};
$(“#一”).show();
$('#two').show();
$('三').show();
}

第一部分的内容

第二部分的内容

第三部分的内容

第四组的内容

第五组的内容


您可以使用类来执行相同的操作,示例如下:

window.onload=function(){
var current=新日期();
var到期日=新日期(“2018年8月7日12:00:00”)
var expiry2=新日期(“2018年8月9日12:00:00”)
$(“.divON”).show();
if(current.getTime()>expiry.getTime()){
$(“#一”).hide();
}else if(current.getTime()>expiry2.getTime()){
$('#two').show();
}
};

第一部分的内容

第二部分的内容

第三部分的内容

第四组的内容

第五组的内容


以下是一种优化的方法:

我们通过添加
数据expiry=“2018年8月7日12:00:00”
为每个div分配了到期日期,然后从javascript中检索它以与当前时间进行比较

我们还为每个div添加了一个类,在本例中,我使用了过期的
,这样就可以很容易地获取所有div并循环每个div

使用这种方法,您的实现将是灵活的,代码也会很短

$(函数(){
var current_date=新日期();
$(“.with expiration”)。每个(函数(){
var div_date=$(此).data('expiration');
//包装日期类
div_日期=新日期(div_日期);
if(当前日期.getTime()>div\u日期.getTime()){
$(this.hide();
}否则{
$(this.show();
}
});
})

第一部分的内容

第二部分的内容

第三部分的内容

第四组的内容

第五组的内容


第一部分的内容

第二部分的内容

第三部分的内容

第四组的内容

第五组的内容

//将过期日期保留在所需格式的数组中 var desiredExpiryDates=[,…] 函数expire(){ 对于(var i=0;i
您需要为每个div设置一个
attibute
,以确定每个div的过期日期

我的示例是使用
data expire
设置过期日期

onload
方法中,我检查每个div的
数据expire
以区分过期的和未过期的

我使用红色字眼让他们清楚地看到区别

window.onload=function(){
var current=新日期();
$('.date')。每个(函数(索引、事件){
var expire=$(this.data('expire');
var expireDate=新日期(到期);

如果(expireDate.getTime(),你对什么
div
将在特定日期到期有什么逻辑吗?比如,
div
1-5将在周一到期,等等,我想一些div到期之类的事情(例如:关于报价的详细信息)应该由后端管理。是的。这对我来说非常简单。非常感谢。中午12点?哪个时区?当这项工作正常时,div将在一天中的24个不同时间消失,具体取决于查看器使用的时区。我建议重写此项以使用ISO 8601日期格式,以便中午12点的东部值将在太平洋时间上午9点正确自动隐藏无稽之谈。
   <div id="div0" style="display:none">
            <p>content for div #one</p>
            </div>
            <div id="div1" style="display:none">
            <p>content for div #two</p>
            </div>
            <div id="div2" style="display:none">
            <p>content for div #three</p>
            </div>
            <div id="div3" style="display:none">
            <p>content for div four</p>
            </div>
            <div id="div4" style="display:none">
            <p>content for div five</p>
            </div>

    <script>
//keep your expire dates in an array in your desired format
   var desiredExpiryDates = [.,......,.,.]

        function expire(){                          
            for(var i=0;i< desiredExpiryDates.length;i++ ){

// find current date and  compare desiredExpiryDates in desired way & compare

            if(currentdate === desiredExpiryDates[i] ){  
            $('#div'+i).hide()
            } else{
            $('#div'+i).show()
            }
            }

   // settimeout callback to check and compare within desired time interval
        setTimeout(expire, 1000);
        }
    </script>