setTimeout mit Schleifenproblem mit Feldaktualisierung

Ich versuche, eine Liste auf einem Timer zu durchlaufen (derzeit 1 Sekunde, aber ich möchte es schneller). Das Problem ist, dass der aktuelle Wert nicht visuell aktualisiert wird und ich nicht verstehe, warum.

Wenn ich mit durchschleifeFirebug esfunktioniert Wie vorgesehen, aber ohne Firebug wird die Textänderung nicht angezeigt. Wird die Textaktualisierung irgendwie übersprungen?

Ich stelle den Timer auf 1 Sekunde ein. sicherlich würde ein .html () -Aufruf nicht länger dauern? Danke für jede Info.

Mein HTML ist einfach:

<div id="winner2"><h1></h1></div>
<div id="button"">
<img id="start" src="start.png" />
<img id="stop" src="stop.png" />
</div>

Mein JS ist:

var people = ["a", "b", "c"];
        var counter = 1;
        var run;
        $(document).ready(function(){ 
        $("#winner2 h1").html("a");
        $("#stop").hide();

        $( "#start" ).click(function() {
            $("#start").hide();
            $("#stop").show();
            run = setTimeout (nameIncrement(),1000);
        });

        $( "#stop" ).click(function() {
            $("#stop").hide();
            $("#start").show();
            clearTimeout(run);
        });

        function nameIncrement() {
            if(counter == people.length) {
                counter=0;
            }       
            $("#winner2 h1").html(people[counter]);
            counter++;
            run = setTimeout (nameIncrement(),1000);
        }       
        }); 

Antworten auf die Frage(2)

Ihre Antwort auf die Frage