2014-01-07 33 views
-1

我想從N1改變一個數字,以逐漸N2即如果n1爲5 & n2是10,則我希望它改變像6,7,8,9,10,而不是從5急劇變化到10使得一些變化逐漸而不是立即

這裏是部分;

var interval = setInterval(gMoneyU1, 1000); 
function gMoneyU1() 
{ 
    var calc = 5 * U1Amount; 
    Money += calc; 
    document.getElementById('money').innerHTML=Money + "$"; 
} 
+0

對不起,這是不可理解的... –

+1

你的問題是相當不錯,但請嘗試下一次更清晰。希望我給你的解決方案可以幫助 –

回答

1

我認爲你應該使用的setTimeout來實現這一點,我寫一個更通用的代碼,但你可以很容易地適合你的情況

var initial = 0; 
var final = 5; 

function change(current, expected){ 
    if(current != expected){ 
     setTimeout(function(){ 
      current += ((expected-current > 0) ? 1 : -1)); //increment or decrement based on the case 
      change(current, expected); 
     }, 1000); 
    } 
} 

change(0, 5); 
0

這裏有:

var interval = setInterval(gMoneyU1, 1000); 
var Money = 0, U1Amount = 1; //Start U1Amount in 1 
function gMoneyU1() 
{ 
    var calc = 5 * U1Amount; 
    Money += calc; 
    U1Amount++; //Increment amount by 1 
    document.getElementById('money').innerHTML=Money + "$"; 
} 

乾杯

+0

我已經添加了我的整個代碼來告訴你我是什麼意思,希望它會比我更容易理解。 – prk

0

這裏是我對這個問題的理解:

var money = 5, 
    ceiling = 10, 
    el = document.getElementById('money'), 
    tid = setInterval(update, 500); 

function update() { 
    refresh(++money); 
    if (money === ceiling) clearInterval(tid); 
} 

function refresh(value) { 
    el.innerHTML = value + '$'; 
} 

refresh(money); 

看一看演示:http://jsfiddle.net/wared/4DmxG/