簡體   English   中英

使用onClick調用Javascript函數

[英]Calling a Javascript function with onClick

誰能告訴我為什么使用此計時器:

function timer() {
 var counter = 0,
 cDisplay = document.getElementById("counter");
 format = function(t) {
     var hours = Math.floor(t/360000),
         minutes = Math.floor( (t/6000) % 60),
         seconds = Math.floor( (t/100) % 60),
         ms = (Math.floor(t % 100)/100).toFixed(2);
     if (t<6000) { 
         cDisplay.innerHTML = seconds + ms.substring(1); 
     } else if (t<360000) {
         seconds = (seconds < 10) ? "0" + seconds.toString() : seconds.toString();
         cDisplay.innerHTML = minutes + ":" + seconds + ms.substring(1);
     } else {
         minutes = (minutes < 10) ? "0" + minutes.toString() : minutes.toString();
         seconds = (seconds < 10) ? "0" + seconds.toString() : seconds.toString();
         cDisplay.innerHTML = hours + ":" + minutes + ":" + seconds + ms.substring(1); 
     }
 };
 setInterval(function() {
    counter++;
    format(counter);
 },10);
}

當我單擊以下標簽時將無法啟動:

<label onClick="timer()" id="counter">Start Timer</label>

我可以通過在整個函數周圍加上括號並在末尾打個分號來使其自動加載:

http://jsfiddle.net/UHjas/

但我不知道為什么它不會與onClick =“ timer()”一起加載。 我覺得我很想念我很想念,但是我看不到它

這是工作。

將jsfiddle將腳本包含在onLoad方式更改為No wrap - in <head> wrap- No wrap - in <head>

演示: http : //jsfiddle.net/UHjas/3/

基本上, timer()不在全局范圍內(請檢查jsfiddle iframe源)

那是因為您在load事件中定義了函數,所以它僅在該作用域內可用。

No wrap - in <head>中將設置更改為No wrap - in <head>以在全局范圍內定義函數。

http://jsfiddle.net/UHjas/1/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM