如果今天是当天,则打开叠加层

时间:2013-11-30 10:58:32

标签: javascript jquery date

在制作圣诞日历的过程中,我有一个覆盖,如果日期是1.12.13,则应该打开其他方面,它应该提醒天数,直到它可用。我尝试了很多不同的东西,但不能让它工作。 如果日期是以下内容,应该显示以下内容:

       <!-- overlayed element, which is styled with external stylesheet -->
       <div class="apple_overlay black" id="photo1">
       <img src="images/onecom.png" alt="onecom" width="496" height="496" />
       <div class="details">
        <h2>December 1st</h2>
         <p>
          Some script that does something
         </p>
        </div>
        </div>

我尝试了什么

function dooropen(door) {
    today=new Date(); 
    daynow=today.getDate(); 
    monthnow=today.getMonth();
    if (monthnow!=11 && monthnow!=0) {
        alert("This feature opens in December. Please come back then."); 
        return false;
    } 
    if (daynow==door-1) {
        alert("Come back tomorrow to see what's behind that door!");
        return false;
    }
    if (door>daynow) {
        alert("You\'ll have to wait "+(door-daynow)+" days before that door's available!"); 
        return false;
    }
}

3 个答案:

答案 0 :(得分:0)

<script>
    var date = new Date(),
    year = date.getYear(),
    month = date.getMonth()+1,
    day = date.getDate();

    if(day == 13){ // today is 13
       code
    }else{
       code
    }

</script>

答案 1 :(得分:0)

只需在方法结束时显示您想要的元素..

$('#photo1').show();

答案 2 :(得分:0)

这可能会有效,因为我可以看到,由于您使用数字标识div,因此您可能会在该月的每一天使用不同的id="photo1">,因此您可以尝试获取日期:

    var today = new Date();
    var dd = today.getDate() + 1;
    var mm = today.getMonth() + 1;

之后获取所有div的主要父级并将其放在jquery对象中:

var $number_of_objects = $("#parent_div img");

一旦你拥有了所有那些你需要把它们放在一个for循环中来计算它们并匹配以便稍后退出函数:

for (var i = 1; i < $number_of_objects.length; i++) {
    console.log("value of i " + i);
        if(i == dd){
            console.log(' break');
            break;
        }
        $("#apple img[rel='#photo"+i+"']").overlay({
                effect: 'apple'
        });

    }

它应该为您提供一个很好的起点来改进它并为脚本添加更多功能:) 快乐的编码