无法在另一个函数内调用函数javascript

时间:2016-03-17 02:55:10

标签: javascript countdownjs.js

<script src="https://raw.githubusercontent.com/mckamey/countdownjs/master/countdown.js"></script>

<script> function getAge (date) { k = countdown(date); } </script>

它会抛出错误

  

倒计时未定义

更新

我将文件下载到本地,当我尝试直接调用时,它可以正常工作但不在函数内部。

2 个答案:

答案 0 :(得分:1)

这是因为GitHub服务的原始文件没有使用正确的MIME类型设置,因此出于安全原因,浏览器不会下载它们。

相反,请使用一些可供其使用正确MIME类型的替代慷慨主机。

我经常使用的是githack.com。要使用它,只需将网址中的githubusercontent更改为githack即可获得:

https://raw.githubusercontent.com/mckamey/countdownjs/master/countdown.js

答案 1 :(得分:1)

我没有得到&#34;倒计时未定义&#34;,我得到&#34;日期未定义&#34;。现在我已经有机会查看countdown.js文件,您没有将所有参数发送到该函数:

function countdown(start, end, units, max, digits) {
    var callback;

    // ensure some units or use defaults
    units = +units || DEFAULTS;
    // max must be positive
    max = (max > 0) ? max : NaN;
    //…

首先,你需要定义&#34; date&#34;或使用&#34; new Date()&#34;。其次,还需要设置其他参数,包括要更新的回调和目标元素。我建议阅读文档here

以下是自述文件中的示例:

var timerId =
  countdown(
    new Date(),
    function(ts) {
      document.getElementById('pageTimer').innerHTML = ts.toHTML("strong");
    },
    countdown.HOURS|countdown.MINUTES|countdown.SECONDS);

// later on this timer may be stopped
window.clearInterval(timerId);

最后,你实际上并没有在我能看到的任何地方调用getAge函数。你只定义了它。如果您运行:

getAge(new Date());

您将不会收到任何错误,但它不会执行任何操作,因为您尚未定义任何其他参数。