0

有人可以告诉我我做错了什么吗?我是 jquery 的新手,我想得到一些反馈。基本上我想要的是某种倒数计时器,它会显示距离事件发生还有多少天。该事件是一个固定的日期。

谢谢您的帮助

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

 <html xmlns="http://www.w3.org/1999/xhtml">

 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <title>Almost Vacation</title>

 <script type="text/javascript"    src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>

 <script>
   $('document').on('ready', calc);
    function calc(){
        var myDate = new Date();
        myDate.setMonth(05, 06);
        var today = new Date();
        today.getDay();
        var x = myDate - today;
        $('#aantal p').text(x);
}



 </script>       

 <style type="text/css">
   p {
      color:red; 
      font-size:1.8em; 
      margin:-90px 10px 5px;
   }

 </style>

 </head>

 <body>

        <img src="http://fed.cmd.hro.nl/upload/files/1011/y1/q4/w3/slapende_student.jpg" width="462" height="275" />

    <p>Vacation starts in<span id="aantal">&nbsp;</span> Days</p>
 </body>


 </html>
4

3 回答 3

1
$('document').on('ready', calc);

应该:

$(document).ready(calc);

或者简单地说:

$(calc);

$('document')正在寻找类型的元素,<document>
同时用 jQuery 对象$(document)包装节点。document

于 2012-07-02T17:17:19.553 回答
1

它需要是:

$(function() {
    var myDate = new Date();
    myDate.setMonth(06, 06); //set date forward in time, not backward
    var today = new Date();
    var x = (myDate - today)/86400000;
    $('#aantal').text(x); //append to the span, not the p that does not exists
});

小提琴

于 2012-07-02T17:28:59.413 回答
0

除了 gdoron 指出的语法更正之外,您还错误地获取了范围。首先,你想减去myDatetoday不是相反。此外,这个减法的结果是日期之间的毫秒数,所以你需要做一些单位转换才能得到天。最后,您的 jQuery 选择器不正确。

<script>
    $(document).ready(calc);
    function calc(){
        var myDate = new Date();
        myDate.setMonth(5, 6);
        var today = new Date();
        var x = (today - myDate)/(1000*60*60*24);
        $('#aantal').text(x); // update this selector too!!
    }
</script>  

如果您决定要对该数字进行四舍五入,则可以执行以下操作:

var x = Math.ceil((today - myDate)/(1000*60*60*24));
于 2012-07-02T17:22:20.447 回答