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并将其追加到正文中