在HTML中调用函数时出现问题

Trouble with calling a function in HTML

本文关键字:问题 函数 HTML 调用      更新时间:2023-09-26

我得到了一组JavaScript代码来创建一个双倒计时事件,但我在HTML中遇到了问题,有人能指导我如何做吗?

编写脚本

<script type="text/javascript">
function daysLeft(BigDay) {
msPerDay = 24 * 60 * 60 * 1000;
timeLeft = (BigDay.getTime() - today.getTime());
e_daysLeft = timeLeft / msPerDay;
daysLeft = Math.floor(e_daysLeft);
return daysLeft;
}
</script>

HTML

<p><script>
daysLeft (new Date("6 August, 2016"));
</script></p>
<p><script>
daysLeft (new Date("6 August, 2017"));
</script></p>

试试这样的方法:https://jsfiddle.net/hmktnLo9/
在js中执行,然后将结果推送到html

js

var id1 = document.getElementById('id1');
var id2 = document.getElementById('id2');
var today = new Date();
function daysLeft(BigDay) {
msPerDay = 24 * 60 * 60 * 1000;
timeLeft = (BigDay.getTime() - today.getTime());
e_daysLeft = timeLeft / msPerDay;
f_daysLeft = Math.floor(e_daysLeft);
return f_daysLeft;
}
id1.appendChild(document.createTextNode(daysLeft (new Date("6 August, 2016"))));
id2.appendChild(document.createTextNode(daysLeft (new Date("6 August, 2017"))));

html

<p id="id1"></p>
<p id="id2"></p>

如果你愿意,我有一个jquery解决方案?

你必须给<p>标记id,然后把函数的值放进去。我修改了你的javascript代码,因为它没有"today",这就是它不起作用的原因。现在,您首先必须添加"bigday",然后添加"today"或其他日期,以便从中开始倒计时。

这是小提琴

html代码:

<p id="date2016"></p>
<p id="date2017"></p>

javascript(jquery)代码:

function daysLeft(BigDay, today) {
msPerDay = 24 * 60 * 60 * 1000;
timeLeft = (BigDay.getTime() - today.getTime());
e_daysLeft = timeLeft / msPerDay;
daysLeft = Math.floor(e_daysLeft);
return daysLeft;
}
todayToBigday = daysLeft(new Date("6 August, 2017"), new Date("3 August,2016"));
/*
todayToBigday = daysLeft(
new Date("6 August, 2017"), //bigdate
new Date("3 August, 2012")  //today or other starting day
);*/
var date2016 = $('#date2016'),
    date2017 = $('#date2017');
date2016.html(todayToBigday + ' days from now');
date2017.html(todayToBigday + ' days from now');

玩得开心!