有人可以告诉我我做错了什么吗?我是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"> </span> Days</p>
</body>
</html>
答案 0 :(得分:1)
$('document').on('ready', calc);
应该是:
$(document).ready(calc);
或者简单地说:
$(calc);
$('document')
正在寻找<document>
类型的元素
而$(document)
使用jQuery对象包装document
节点。
答案 1 :(得分: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
});
答案 2 :(得分:0)
除了gdoron指出的语法修正外,你得到的范围也不正确。首先,您要从myDate
中减去today
而不是相反。此外,此减法的结果是日期之间的毫秒数,因此您需要进行一些单位转换以达到数天。最后,你的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));