函数在正文卸载时调用,但在作为另一个函数的一部分调用时不起作用

时间:2015-05-05 02:13:58

标签: javascript jquery html

所以这里是独家新闻 - 我在这里有一个带有动画进度条的页面:

http://bushidodesigns.net/consumer/webapp/funnel/receipts.htm

动画栏的脚本如下所示:

function run() {

var obj = document.getElementById('p1');

if (obj.getAttribute("data-value") < 100) {
  obj.setAttribute("data-value", parseInt(obj.getAttribute("data-value")) + 5);
  obj.setAttribute('aria-valuenow', obj.getAttribute("data-value"));
  obj.style.width = obj.getAttribute("data-value") + "%";
}

我会在页面加载中解雇它,如下所示:

<body class="step" onLoad="run()">

工作正常。但是,我尝试做的是将进度条放在外部文件中,并在用户点击这样的链接时将其加载到页面中:

$(document).on('click','#load-email',function() {
$("article").load("../loaders/email.htm");
run();
});

当我这样做时,进度条加载到页面中,但它加载为100%,没有动画,并抛出此错误 - &#34; TypeError:obj为null if(obj.getAttribute( &#34;数据值&#34;)&lt; 100){&#34;

这是一个链接:

http://bushidodesigns.net/consumer/webapp/funnel/email.htm

点击&#34;继续&#34;按钮查看问题。

知道造成这种情况的原因是什么?我完全难过了。

1 个答案:

答案 0 :(得分:1)

run()加载后致电email.htm

$(document).on('click','#load-email',function() {
    $("article").load("../loaders/email.htm", {}, function() {
        run();
    });
});