2014-01-07 2 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/.

Смежные вопросы