Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.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 在div上使用getDate函数_Javascript_Jquery_Html - Fatal编程技术网

Javascript 在div上使用getDate函数

Javascript 在div上使用getDate函数,javascript,jquery,html,Javascript,Jquery,Html,我有一个降临节日历应用程序,设置为当你点击一扇门时,它会选择一个随机图像。我想把它包装在一个getDate函数中,这样你只能在特定的日期“打开”那扇门。我不知道从哪里开始,任何帮助都将不胜感激-我对JS非常陌生 链接: 我的HTML: <div id='calendar'> <div class='doors' id='dec1'>1</div> <div class='doors' id='dec2'>2</div> <div

我有一个降临节日历应用程序,设置为当你点击一扇门时,它会选择一个随机图像。我想把它包装在一个getDate函数中,这样你只能在特定的日期“打开”那扇门。我不知道从哪里开始,任何帮助都将不胜感激-我对JS非常陌生

链接:

我的HTML:

<div id='calendar'>
<div class='doors' id='dec1'>1</div>
<div class='doors' id='dec2'>2</div>
<div class='doors' id='dec3'>3</div>
<div class='doors' id='dec4'>4</div>
<!-- etc... --!>
<div class='doors' id='dec24'>24</div>
</div
设置日期

var today = new Date()
var day = today.getDate()

console.log(today);
门打开-从阵列中选择随机背景图像

$('.doors').click(function () {

    if (today.getMonth() !== 11) {
        return;
    }

    if ($(this).attr('id') <= 'dec' + day) {

        // Select Random Image
        var doorImage = getRandomImage(calendarImg); 

        // Change background image of door that was clicked
        $(this).css('background-image', doorImage);

        return;  
    }

    // Show image telling user to come back
    $(this).css('background-image', 'url(/images/come_back.png)');

});
$('.doors')。单击(函数(){
如果(今天。getMonth()!==11){
返回;
}

如果($(this).attr('id')最简单的解决方案是只将onclick处理程序附加到当天的“门”上,而不是所有的“门”。您已经有了“门”的当前日期和良好的
id
s,只需像这样使用它们:

$('#dec' + day).click(function(){...});

编辑

看起来您已在帖子中更改了代码。如果您想告诉用户单击错误的门,则无法使用上面的代码。请改为执行以下操作:

$('.doors').click(function () {
    if (today.getMonth() !== 11) {
        return;
    }
    if ($(this).attr('id') !== 'dec' + day) {
        $(this).css('background-image', 'url(/images/come_back.jpg)');
        return;
    }
    // show the image
});

.

抱歉,StackOverflow不是开发人员为您编写代码的地方。如果您仔细询问某个特定问题,您会得到答案(当然,如果有人知道的话)。因此,您只想允许用户在om
day
当天开门吗?即2005年12月
Dec
您只想允许用户选择
dec5
doorArun,谢谢您的回复,这正是我想要的。我不是要求开发人员帮我做代码。我只是不知道从哪里开始,我正在寻求帮助(我想我问得很好?)你很好。如果答案有帮助的话,也请接受。蒂姆,很抱歉请求更多帮助,按照你的建议工作。我已经更新了代码,但我在标识上遇到了一些问题。谢谢,我已经按照你的建议修复了代码,并添加了一个'dec30'div,以便我可以测试它,但它仍然不起作用,并且抛出了一个'Uncaught'e控制台上的错误。谢谢Teemu,我真的很感谢你花时间来帮助我。我已经按照你的建议更新了我的代码,并将月份改为“10”,以便我今天可以测试它,但它仍然不起作用。我已经将我的原始代码更新为illustrate@snooks我在我的答案中添加了一个小提琴链接,请检查小提琴,也许你可以可以找到代码中的错误。小提琴响应控制台,当前日期设置为11月20日。
$('.doors').click(function () {
    if (today.getMonth() !== 11) {
        return;
    }
    if ($(this).attr('id') !== 'dec' + day) {
        $(this).css('background-image', 'url(/images/come_back.jpg)');
        return;
    }
    // show the image
});