Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 首先是JS,从经验丰富的JS程序员那里寻求建议_Javascript - Fatal编程技术网

Javascript 首先是JS,从经验丰富的JS程序员那里寻求建议

Javascript 首先是JS,从经验丰富的JS程序员那里寻求建议,javascript,Javascript,我需要写一个脚本来显示特定日期的特定div。到目前为止,我的伪代码如下所示: import date from local system, //not sure if can/should do this? var date == dateImported switch(date){ case date less than or equal to feb 14th: div called .valentines{ display: block;} break

我需要写一个脚本来显示特定日期的特定div。到目前为止,我的伪代码如下所示:

import date from local system, //not sure if can/should do this?
var date == dateImported

switch(date){
    case date less than or equal to feb 14th:
          div called .valentines{ display: block;}
    break;
    case date equal to or less than march 17th:
          div called .paddys{display: block}
    break;
    case date between last event and dec 25th:
        div called .christmas display: block;
    break;
我的问题是:

  • 有没有更干净的方法
  • 确定此脚本中日期变量值的最佳方法是什么
  • 我应该如何确保在每次事件结束后再次隐藏
    div
  • 我在想,我应该尽量不那么具体,只使用: var mm=today.getMonth()+1; 每个月都有一个
    div
    ,但我希望目标更高


    请不要为我写代码,我要练习。非常感谢您的指导。

    实现这一点的一种方法是:

    为相关div添加两个属性,如
    数据显示在
    之后和
    数据显示在
    之前,例如:

    <div id="valentines" 
        data-display-after="2016-02-14 00:00:00" 
        data-display-before="2016-02-15 00:00:00">...
    
    。。。
    
    最初隐藏这些div(使用CSS)

    在页面加载时,将当前日期(
    新日期
    )转换为上述格式


    对于文档中具有
    data display before
    属性(您需要
    querySelectorAll
    )的每个元素,比较属性值(
    getAttribute
    ),如果
    currentDate>=data display after&¤tDate,实现此功能的一种方法是:

    为相关div添加两个属性,如
    数据显示在
    之后和
    数据显示在
    之前,例如:

    <div id="valentines" 
        data-display-after="2016-02-14 00:00:00" 
        data-display-before="2016-02-15 00:00:00">...
    
    。。。
    
    最初隐藏这些div(使用CSS)

    在页面加载时,将当前日期(
    新日期
    )转换为上述格式

    对于文档中具有
    data display before
    属性(您需要
    querySelectorAll
    )的每个元素,比较属性值(
    getAttribute
    ),如果
    currentDate>=data display after&¤tDate,我将用于检查日期

    var today = moment();
    today.isBetween('2014-1-1', '2017-1-1'); // true
    today.isBetween('2001-1-1', '2010-1-1'); // false
    
    使用矩,您可以查询before、same、after、两者的组合等

    有了它,您可以使用开关和添加/删除类来隐藏/显示基于javascript库(即jquery)开关的div。

    我将使用它来检查日期

    var today = moment();
    today.isBetween('2014-1-1', '2017-1-1'); // true
    today.isBetween('2001-1-1', '2010-1-1'); // false
    
    使用矩,您可以查询before、same、after、两者的组合等


    有了它,您可以使用开关和添加/删除类来隐藏/显示基于javascript库(即jquery)开关的div。

    这确实是可能的。但不适用于开关盒
    。如果
    ,则需要使用
    。您可以从
    var date=new date()
    获取当前日期。georg提供了一个很好的答案。另外,您也可以在服务器端执行此操作。请参见此示例:。这确实是可能的。但不适用于开关盒
    。如果,则需要使用
    。您可以从
    var date=new date()
    获取当前日期。georg提供了一个很好的答案。另外,您也可以在服务器端执行此操作。看到这个例子:。嗨,乔治,回答得很好,谢谢。你介意我问你:你认为我可以在上面的部分之后使用数据显示,只显示月日和月值,这样同样的脚本可以在下一年和下一年工作,而不需要更新吗?当然,只要记住在转换日期对象时使用相同的格式。谢谢,看起来我是setHi Georg,回答很好,谢谢。您介意我问您:您认为我可以使用上面部分之后的数据显示,仅使用月日和月值,以便相同的脚本在明年和明年工作,无需更新吗?当然,请记住在转换日期对象时使用相同的格式。谢谢,看起来我已经设置好了