调用javascript函数

时间:2015-07-23 16:23:29

标签: javascript html

我需要调用javascript函数来运行进度条,这是我的代码:

<form  name="Calculation" method="post">

<progress id="progressBar" value="0" max="100" style="width:300px;">     </progress>

<span id="status"></span> 

<h1 id="finalMessage"></h1> 

<input type="button" id="btn2" value="Press me!" onclick="function   progressBarSim(al)"/>

</form>

 <script>
function progressBarSim(al) {

 var bar = document.Calculation.getElementById('progressBar');

  var status = document.Calculation.getElementById('status');

  status.innerHTML = al + "%";

  bar.value = al;

  al++;

  var sim = setTimeout("progressBarSim(" + al + ")", 1);

    if (al == 100) {

    status.innerHTML = "100%";

    bar.value = 100;

    clearTimeout(sim);

    var finalMessage = document.getElementById('finalMessage');

    }
    }

   var amountLoaded = 0;


    progressBarSim(amountLoaded);

     </script>

javascript函数可以自行运行,但我需要在按下按钮时运行它,当我按下按钮时没有任何乐趣&#34;按我&#34;。!知道什么是错的吗?感谢

6 个答案:

答案 0 :(得分:1)

替换<input type="button" id="btn2" value="Press me!" onclick="function progressBarSim()"/>

<input type="button" id="btn2" value="Press me!" onclick="progressBarSim()"/>

答案 1 :(得分:1)

您需要在&#34; onclick&#34;中调用该函数,而不是编写&#34;函数progresBarSim()&#34;。另外,&#34; document.Calculation.getElementById&#34;产生一个js错误,你应该写&#34; document.getElementById&#34;。试试这个:

<form  name="Calculation" method="post">

<progress id="progressBar" value="0" max="100" style="width:300px;">     </progress>

<span id="status"></span> 

<h1 id="finalMessage"></h1> 

<input type="button" id="btn2" value="Press me!" onclick="progressBarSim(0)"/>

</form>

 <script>
function progressBarSim(al) {

 var bar = document.getElementById('progressBar');

  var status = document.getElementById('status');

  status.innerHTML = al + "%";

  bar.value = al;

  al++;

  var sim = setTimeout("progressBarSim(" + al + ")", 1);

    if (al == 100) {

    status.innerHTML = "100%";

    bar.value = 100;

    clearTimeout(sim);

    var finalMessage = document.getElementById('finalMessage');

    }
    }

   var amountLoaded = 0;


    progressBarSim(amountLoaded);

     </script>

答案 2 :(得分:1)

我摆弄代码并更改了一些内容,请尝试以下代码:

<form  name="Calculation" method="post">

 <progress id="progressBar" value="0" max="100" style="width:300px;"></progress>

 <span id="status"></span> 

 <h1 id="finalMessage"></h1> 

 <input type="button" id="btn2" value="Press me!" onclick="progressBarSim(0)"/>
</form>

<script>
 function progressBarSim(al) {
 var bar = document.getElementById('progressBar');
 var status = document.getElementById('status');
 status.innerHTML = al + "%";

 bar.value = al;
 al++;

 var sim = setTimeout(function(){ progressBarSim(al); }, 1);
 if (al == 100) {
    status.innerHTML = "100%";
    bar.value = 100;
    clearTimeout(sim);

    var finalMessage = document.getElementById('finalMessage');
 }
}
</script>

答案 3 :(得分:0)

更改

onclick="function   progressBarSim()"

onclick="progressBarSim()"

答案 4 :(得分:0)

删除function

之类的onclick="ProgressBarSlim()"

答案 5 :(得分:0)

onclick="function progressBarSim()"替换为onclick="progressBarSim()"

喜欢这样:

<input type="button" id="btn2" value="Press me!" onclick="function   progressBarSim()"/>

更换后

<input type="button" id="btn2" value="Press me!" onclick="progressBarSim()"/>