htmlNieskończona pętla for, która nie jest zwrócenie uwagi na stan tablica długości Przykład
<html>
<img src="http://img3.wikia.nocookie.net/__cb20130606164012/animalcrossing/images/3/30/Monkey.jpg" width="200px"><br />
<img src="http://i.telegraph.co.uk/multimedia/archive/02101/monkeys_2101340c.jpg" width="200px"><br />
<img src="http://www.awallpapersonline.com/wp-content/uploads/2014/03/Baby-monkeys-pictures-5-419x400.jpg" width="200px"><br />
<p id="sliderImages"><p>
</html>
A moja JavaScript wygląda jak
var monkey = document.getElementsByTagName("img");
var paragraph = document.getElementById('thisPar');
paragraph.innerHTML += '<img src="' + monkey[0].src +'" width="200">';
który działa perfekcyjnie.
jednak kiedy umieścić go w pętlę, która wygląda
var monkey = document.getElementsByTagName("img");
var paragraph = document.getElementById('thisPar');
for(var i = 0; i < monkey.length; i++){
paragraph.innerHTML += '<img src="' + monkey[i].src +'" width="200">';
}
Drukuje nieskończoną pętlę wszystkich moich zdjęć małpy. Myślę, że uzależniając warunek od liczby elementów w tablicy "małpa" (lub liczby znaczników img na stronie), będę w stanie wydrukować taką liczbę zdjęć w akapicie "thisPar" ID.
Dlaczego to stwierdzenie tworzy nieskończoną pętlę?
każdym razem, gdy dodać element z 'innerHTML', długość 'monkey.length' rośnie ... więc trwa to zawsze. Zgodnie z sugestią ** Notulysses ** utwórz stałą zmienną dla długości, która nie zostanie zmieniona poprzez dodanie do 'innerHTML'. Innym sposobem na zapisanie go jest 'for (var i = 0, len = monkey.length; i
erosman