2016-08-05 3 views
-2

Я хочу, чтобы функция выполнялась через 5 секунд после загрузки. Затем эта функция должна менять значение div каждую секунду. В основном, DIV имеет номер, значение которого я хочу увеличивалась каждый второй, до 100. Здесь не то, что я придумал до сих пор:Увеличивает счетчик числа раз в секунду?

div { 
 
    display:inline; 
 
}
<body onload="setTimeout(start,3000) ; setTimeout(end,3000) "> 
 
    <div id = number> 
 
    1 
 
    </div> 
 
    % 
 
    
 
    <script type="text/javascript"> 
 
    var i = 1; 
 
    
 
    setInterval(
 
    var a = (function start() { 
 
    i = i%100 + 1; 
 
    return i; 
 
    }); , 1000) 
 
    
 
    setInterval(
 
    var earth = document.getElementById('you'); 
 
    
 
    function end(){ 
 
    earth.innerHTML = a; 
 
    
 
    } 
 
    
 
    \t) 
 
    
 
    
 
    </script> 
 
</body>

Не повезло до сих пор. Pls говорит мне куда я пошел неправильно и исправить его pls. Будет оценена скрипка: D.

+2

Привет Pranav, Можете ли вы сделать это в скрипке и поделиться с нами работоспособной ссылкой, чтобы проверить функциональность? –

+0

Ваша основная проблема заключается в том, что вы ставите 'var' в свой вызов' setInterval'. – MegaTom

ответ

4

Это должно делать то, что вы просите:

setTimeout(start, 5000); 
 

 
var i = 1; 
 
var num = document.getElementById('number'); 
 

 
function start() { 
 
    setInterval(increase, 1000); 
 
} 
 

 
function increase() { 
 
    if (i < 100) { 
 
     i++; 
 
     num.innerText = i; 
 
    } 
 
}
<div id="number">1</div>

+2

Ответы на вопросы, помеченные просто «javascript», не должны включать использование фреймворков. –

+0

@AdamAzad Справедливая точка, я удалил зависимость jQuery. – TrampolineTales

1

Вы не должны ставить onload в вашем <body> теге.

Вместо этого, используйте его в JavaScript с window.onload

0

Сделать это как функция

function myFunction() { 
    setTimeout(
     function() { 
     //stuff 
     }, 5000); 
} 

Затем выполнить его OnLoad

onload="myFunction();" 
1

Здесь вы идете использовать setTimeout для 5sec разрыва, после того, как которые используют setInterval

var counter = 0; 
 
var div = document.getElementById('spinner'); 
 
setTimeout(function(){ 
 
    var st = setInterval(function(){ 
 
    div.innerHTML = ++counter; 
 
    if (counter > 100){ 
 
     clearInterval(st); 
 
    } 
 
    },1000) 
 
},5000);
<div id ="spinner"></div>

+0

Это бесконечный цикл while на строке 6 Javascript. – TrampolineTales

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