2013-08-04 2 views
-7

Я использовал этот код, но он не повторить

это увеличивает стоимость, но не добраться до исходного значения 0
пожалуйста, помогитеКак использовать повторяющееся значение в innerhtml?

i=0; 
     function loading() 
     { 
      text=["Loading.","Loading..","Loading...","Loading...."]; 
      window.setInterval(wr(),500) 
     } 
     function wr() 
     { 
      if(i<4) 
      { 
       wr='document.getElementById("text").innerHTML=text[i]'; 
       alert(i); 
      } 
      else 
       i=0;  
      return wr; 
     } 
+7

О, ничего себе. Это путаный способ передать код 'setInterval'. Помимо этого «беспорядка», вы никогда не увеличиваете «я». –

+5

Как может так много ошибок пойти в таком маленьком коде? – elclanrs

+0

Кроме того, 'wr()' - это функция, которая при запуске однажды переопределяет себя строкой. – doppelgreener

ответ

2

Ваш код путь к сложному. Определить простую функцию, которую вы передаете в setInterval и убедитесь, что вы увеличить переменную счетчика:

var i = 0; // initialize counter 
var textElement = document.getElementById("text"); 
setInterval(function() { 
    i = i % 4; // make sure `i` is at max 3 and reset to 0 
    var text = 'Loading'; 
    for (var j = i; j--;) { 
     text += '.'; // add the correct number of periods 
    } 
    textElement.innerHTML = text; // set text 
    i++; // increase counter 
}, 500); 

DEMO

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