2014-11-20 41 views
1

說我有一個div一個數字:如何從javascript中的任意指定數字開始數起來?

<div id="value">100</div> 

而且我演技上這個JavaScript:

function animateValue(id){ 
    var obj = document.getElementById(id); 
    var current = obj.innerHTML; 
    setInterval(function(){ 
     current++; 
    },1000); 
} 

animateValue(value); 

據我瞭解,這個腳本翻譯爲:

•抓住HTML元素稱爲(在這種情況下)「值」並將其存儲在「obj」中
•從obj取內部html並將其存儲在「當前」
•取出「當前」變量並每秒增加一次

它應該採取#value的內容,並將其每秒增加一次,但它不會做任何事情。我該如何解決這個問題?我做錯了什麼?正如你所看到的,我沒有經歷過JavaScript,所以對我來說很容易。

回答

1

這裏是的jsfiddle例如解決您的問題:http://jsfiddle.net/rszczypka/f5jfn5bo/

HTML部分:

<div id="value">100</div> 

的JavaScript部分:

function animateValue(id){ 
    var obj = document.getElementById(id); 
    var current = parseInt(obj.innerHTML); 

    setInterval(function(){ 
     obj.innerHTML = current++; 
    },1000); 
} 

animateValue('value'); 
2

您更改了current號碼,但從未更新objinnerHTML,這是實際顯示的內容。如果你在current++之後立即設置obj.innerHTML = current;,它應該爲你做點事情。

,並更改animateValue(value);animateValue('value');(感謝,@nevermind)

+0

請問你能幫我解決嗎? – ExcellentSP 2014-11-20 21:56:19

+1

+更改:animateValue(value); animateValue('value'); – sinisake 2014-11-20 21:56:28

1

我不知道,如果你想更新DIV的內容。也許這是你想要的?

function animateValue(id){ 
    var obj = document.getElementById(id); 
    var current = parseInt(obj.innerHTML); 
    setInterval(function(){ 
     current++; 
     // Update the contents of the element 
     obj.innerHTML = current; 
    },1000); 
} 

animateValue('value'); 

http://jsfiddle.net/L1q5t9gz/

1

使用jQuery。這很容易...其他答案更復雜,這是一個容易的解決方案..沒有解析或類似的東西....更簡單的代碼,更有效。

所以,它更簡單的比你想象的:首先...檢查當前值,然後添加並打印

   $(function(){ 
        //Get Current HTML 
        var currentValue = $("#value").html(); 

        //do this every 1000 ms (1 second) 
        setInterval(function(){ 
         //add the value to the current 
         var newValue = currentValue++ 
         // print the new value 
         $("#value").html(newValue); 

        },1000) 
       }) 
+0

這個解決方案比其他解決方案更復雜,因爲您需要了解DOM是什麼,並且您需要知道所有jQuery的內容,才能做到完全相同的事情! – 2014-11-20 22:10:40

+0

我喜歡這個解決方案,它工作的很好,正如你所說的那樣簡單。雖然我沒有選擇這個,原因有兩個:1.糾正我,如果我錯了,但我覺得像jQuery會創造更多的開銷。 2.這不是我正在尋找的JavaScript特定的答案......但是,您還是得到了我的最後一票。 – ExcellentSP 2014-11-21 21:55:58

相關問題