Javascript 如何隐藏基于';如果';条件

Javascript 如何隐藏基于';如果';条件,javascript,jquery,Javascript,Jquery,我有一个警报,在一年中的特定日子显示在网站上 我的问题是:如果日期不是上述日期,我如何隐藏该警报?我原以为下面的代码可以工作,但它只会根据我代码中的条件延迟警报,但我不确定如何解决这个问题 $(document).ready(function() { /* if (typeof window.sessionStorage != undefined) { if (!sessionStorage.getItem('mySessionVal')) { */

我有一个警报,在一年中的特定日子显示在网站上

我的问题是:如果日期不是上述日期,我如何隐藏该警报?我原以为下面的代码可以工作,但它只会根据我代码中的条件延迟警报,但我不确定如何解决这个问题

$(document).ready(function() {
   /* if (typeof window.sessionStorage != undefined) {
        if (!sessionStorage.getItem('mySessionVal')) { */
            $('<div />', {
                id   : "alertmsg",
                text :"",
                on   : {
                    click: function() {
                        $(this).slideUp(500);
                    }
                }
            }).appendTo('body').slideDown(1).delay(6000).slideToggle("fast");
            sessionStorage.setItem('mySessionVal', false);
            sessionStorage.setItem('storedWhen', (new Date()).getTime());

      var now = new Date();
      var days = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];
      var month = now.getMonth();
      var date = now.getDate();
      var year = now.getFullYear();
      var msg;
      if (month == 0, date ==1) msg = "Submissions for our January issue have now closed.";
      else if (month == 3, date ==1) msg = "Submissions for our April issue have now closed.";
      else if (month == 6, date ==1) msg = "Submissions for our July issue have now closed.";
      else if (month == 9, date ==1) msg = "Submissions for our October issue have now closed.";
      else $('#alertmsg').hide();
      $('#alertmsg').text(msg);
});
$(文档).ready(函数(){
/*if(typeof window.sessionStorage!=未定义){
如果(!sessionStorage.getItem('mySessionVal')){*/
$('', {
id:“alertmsg”,
正文:“,
关于:{
单击:函数(){
美元(本).slideUp(500);
}
}
}).appendTo(“body”).slideDown(1)、delay(6000)、slideToggle(“fast”);
sessionStorage.setItem('mySessionVal',false);
setItem('storedWhen',(new Date()).getTime());
var now=新日期();
风险值天数=[“周日”、“周一”、“周二”、“周三”、“周四”、“周五”、“周六”];
var month=now.getMonth();
var date=now.getDate();
var year=now.getFullYear();
var-msg;
如果(月==0,日期==1)msg=“我们一月份的提交现在已经结束。”;
否则,如果(月==3,日期==1)msg=“我们四月份的提交现在已经结束。”;
否则,如果(月==6,日期==1)msg=“我们7月份的提交现在已经结束。”;
否则,如果(月==9,日期==1)msg=“我们10月份的提交现在已经结束。”;
else$('#alertmsg').hide();
$('#alertmsg').text(msg);
});

不确定您从哪里获得了
if(month==0,date==1)
,但它应该是
if(month==0&&date==1)
。if语句之后的最后一行应该是相同的

$('#alertmsg').text(msg);
这意味着在您检查月份名称后,不管
msg
的内容如何,您都会将文本放入div中

您可以这样做:

var now = new Date();
      var days = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];
      var month = now.getMonth();
      var date = now.getDate();
      var year = now.getFullYear();
      var msg;
      if (month == 0, date ==1) msg = "Submissions for our January issue have now closed.";
      else if (month == 3, date ==1) msg = "Submissions for our April issue have now closed.";
      else if (month == 6, date ==1) msg = "Submissions for our July issue have now closed.";
      else if (month == 9, date ==1) msg = "Submissions for our October issue have now closed.";

if(msg != '') {

 // append the div to body here and assign the msg into it
}

我正在尝试学习JQuery,所以我不知道如何解决上述问题,但我想我终于知道了!我只是在最后一个IF语句之后添加了以下代码

else $('#alertmsg').removeAttr('id');
      $('#alertmsg').text(msg);

如果日期不在上面的某一天,我根本不需要消息。追加div会将其全部隐藏在一起吗?您只会在msg有内容时追加div,因此如果日期不是If语句之一,msg将为空,并且不会创建div并将其追加到正文中