首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在某个时间显示div,当月份发生变化时重置

在某个时间显示div,当月份发生变化时重置
EN

Stack Overflow用户
提问于 2020-02-04 18:30:17
回答 2查看 35关注 0票数 0

我有一个div/tab设置为在今年2月1日之后显示。这很有效,直到这个月结束,然后div再次被隐藏。我希望div永远保持打开状态。第一个选项卡设置为在2月1日显示,第二个选项卡设置为在14日显示。这是我的代码。

代码语言:javascript
复制
<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>
EN

回答 2

Stack Overflow用户

发布于 2020-02-04 18:51:32

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

代码语言:javascript
复制
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
}
票数 1
EN

Stack Overflow用户

发布于 2020-02-04 18:43:08

代码语言:javascript
复制
<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>
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60055408

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档