Javascript 在某个时间显示div,在月份更改时重置

Javascript 在某个时间显示div,在月份更改时重置,javascript,css,Javascript,Css,我有一个div/tab设置在今年2月1日之后显示。这非常有效,直到月底,div再次被隐藏。我希望部门永远开放。第一个选项卡设置为2月1日显示,第二个选项卡设置为14日显示。这是我的密码 <style> .disable-1, .disable-2 { display: none; } .enabled { display: block; } </style> <ul class="tabs"> <!-- THIS UL CREATE

我有一个div/tab设置在今年2月1日之后显示。这非常有效,直到月底,div再次被隐藏。我希望部门永远开放。第一个选项卡设置为2月1日显示,第二个选项卡设置为14日显示。这是我的密码

<style>

.disable-1, .disable-2 {
  display: none;
}

.enabled {
 display: block;
}

</style>

<ul class="tabs">
    <!-- THIS UL CREATES THE TABS == Just add/remove LIs as neeed to create them. Be sure the IDs of the sections match -->
    <li><a href="#PLY-EC-001-1">Tab 1</a></li>
    <li class="disable-1"><a href="">Tab 2</a></li>
    <li class="disable-2"><a href="">Tab 3</a></li>
    <
</ul>

<script>
    // get current date on page load
    var date = new Date();

    // ask for specific date
    if (date.getFullYear() >= 2020 && date.getMonth() >= 1 && date.getDate() >= 1) {
        // get first dom-element with that class 
        var li = document.getElementsByClassName('disable-1'); 

        // if dom-element exists
        if (li.length > 0) {

            // set classname
            li[0].className = 'enabled';
        }           
    }

    if (date.getFullYear() >= 2020 && date.getMonth() >= 1 && date.getDate() >= 14) {
        // get first dom-element with that class 
        var li = document.getElementsByClassName('disable-2'); 

        // if dom-element exists
        if (li.length > 0) {

            // set classname
            li[0].className = 'enabled';
        }           
    }

</script>

.disable-1、.disable-2{
显示:无;
}
.启用{
显示:块;
}
  • <
//获取页面加载的当前日期 变量日期=新日期(); //询问具体日期 如果(date.getFullYear()>=2020&&date.getMonth()>=1&&date.getDate()>=1){ //使用该类获取第一个dom元素 var li=document.getElementsByClassName('disable-1'); //如果dom元素存在 如果(li.length>0){ //设置类名 li[0]。类名='enabled'; } } 如果(date.getFullYear()>=2020&&date.getMonth()>=1&&date.getDate()>=14){ //使用该类获取第一个dom元素 var li=document.getElementsByClassName('disable-2'); //如果dom元素存在 如果(li.length>0){ //设置类名 li[0]。类名='enabled'; } }

函数displayDiv()
{
var d=新日期();
var strDate=d.getDate();
如果(标准日期='1')
document.getElementById('HelloWorld')。visible=true;
}

不要通过逻辑and检查年份、月份和当前日期,只需检查当前日期是否大于特定的时间戳(在您的情况下为2020-02-01:00:00):

var-date=新日期();

var refd=新日期(2020,1,1,0,0,0);//=数字(参考文献))//太棒了,太完美了。。。非常感谢:)很高兴它有帮助:)这会在每个月的第一天显示
div
,但会在所有其他天隐藏它(在:2020/01/01、2020/02/01、2020/03/01、…20XX/0X/01等上可见,否则会隐藏)。那不是OP想要的。
<script type="text/javascript">

function displayDiv()
{
   var d = new Date();
   var strDate =  d.getDate();

   if(strDate == '1')
     document.getElementById('HelloWorld').visible= true;
}
</script>


<form onLoad="displayDiv()" method="GET">
<div id="HelloWorld" style="display:none;"></div>
</form>
var date = new Date();
var refd = new Date(2020,1,1,0,0,0); // <-- Reference date

// compare if now (date) is bigger than reference (refd)
// by comparing the milliseconds since 1970-01-01
if (Number(date) >= Number(refd)) // <-- compare
{
    // ... elided, as before
}