每年在两个日期之间自动启用Javascript(例如圣诞节)

时间:2015-12-20 13:02:08

标签: javascript date

我无法找到我的问题的答案,我想在日期启用javascript脚本并在其他日期禁用它,例如,我有一个代码来在页面上用雪转换我的网站,并且我想在12月1日启用它并在每年的12月31日自动禁用它,是否可能?

是否可以在HTML页面上使用javascript?

3 个答案:

答案 0 :(得分:1)

以下是一个脚本的快速示例,该脚本仅在日期为12月时才会加载另一个js脚本。

在此之后,只需确保其他脚本会让它下雪:)

var date = new Date();
// This is a quick check for december month
// Can be replaced with a check for month/day
if (date.getMonth() === 11) {
  var snowJs = document.createElement("script");
  snowJs.type = "text/javascript";
  snowJs.src = "path-to-snow-js";
  document.body.appendChild(snowJs);
}

答案 1 :(得分:0)

如果它是现有文件的一部分且无法分开,则只需为有效日期添加过滤器。以下是它的例子:

如果没有,您可以在有效日期动态加载此文件并调用函数。

(function(){
  function notify(date){
    console.log(date);
  }
  
  function getValidDates(){
    // You can have a API call that can get dates from server
    var validDates = {
      startDate: new Date(2015,11,1),
      endDate: new Date(2015,11,31),
      today: new Date()
    }
    return validDates;
  }
  
  function validate(dates){    
    if(+dates.startDate <= +dates.today && +dates.endDate> +dates.today){
      notify(dates.today);
    }
    else{
      console.log(dates);
    }
  }
  
  function main(){
    validate(getValidDates());
  }
  
  main();
})()

答案 2 :(得分:0)

我知道这不是最好的。但我认为它对你有用。 1-您可以在java脚本中使用Date();函数。但我们有一个问题。它从用户系统得到时间,可能是错误的。

您可以在this page

中阅读相关内容
var today = new Date();
var todayMonth = today.getMonth()+1;

2-您可以使用服务器端语言从中获取时间,您将获得所有访问者的服务器时间。就像在php date("Y-m-d")中一样。你可以学习herehere

var todayMonth = <?php echo date("m") ?>

3-您可以从第三方应用程序获取它。但那是非常业余的,并不是真的。

最后,您可以从这两个功能获得当前月份和年份。并将其与两个静态值进行比较

if(todayMonth == 11 ) {
 // your code
}