js array stück für stück ausgeben
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
array
art
ausgabe
ausgeben
beispiel
code
dank
element
funktion
garantie
klappen
letzte element
problem
schleife
sekunde
text
update
url
versuch
warten
-
Hallo
ich habe HTML-Code in eine JavaScript Array
jedes Array-Element enthält den fertigen HTML-Code zur ausgabe
Wie kann ich in einem Loop (schleife) jedes dieser Array-Elemente
nacheinander ausgeben, z.B. alle 10 Sekunden das nächste Element
Beispiel:
<script type="text/javascript"> var inhalte= new Array( '<p>Element1</p>', '<p>Element2</p>', '<p>Element3</p>', '<p>Element4</p>' ); var anzahl = inhalte.length; for( i=0; i<anzahl; i++ ) { // ---? hier alle 10 Sekunden das nächste Element für Ausgabe übergeben ? ---- } </script> <!-- hier Ausgabe eines Elemnts für je 10 Sekunden, dann nächstes --> <div id="ausgabe"> </div>
und am besten so, dass wenn das letzte Element ausgegeben wurde,
es wieder mit dem ersten beginnt ( wiederholter durchlauf)
Ideen?
Beitrag zuletzt geändert: 18.6.2011 17:07:09 von promohit -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Löse das ganze am besten über eine Closure:
function MyLaufbanner() { counter = 0; array = new Array( '<p>Element1</p>', '<p>Element2</p>', '<p>Element3</p>', '<p>Element4</p>' ); this.showArrayPiece() { document.getElementById("ausgabe").innerHTML( array[counter] ); counter++; } } var class = new MyLaufbanner(); setInterval( 'class.showArrayPiece()', 10*1000);
Keine garantie für 100% Funktion. Aber so sollte es klappen.
Beitrag zuletzt geändert: 19.6.2011 12:02:47 von ggamee -
sowas vllt?
http://www.gcmingati.net/wordpress/wp-content/lab/jquery/newsticker/jq-liscroll/scrollanimate.html
Sonst Google einfach mal "jQuery Newsticker", da findet man viel.
Liebe Grüße -
versuchs so mal:
var ct = 0; window.setInterval("update()", 10000); function update() { document.getElementById("ausgabe").innerHTML(array[ct++]); if(ct == array.length - 1) { ct = 0; } }
setInterval löst alle 10 Sekunden die Funktion update() aus, welche ein Array-Element ausgibt und den Zähler erhöht bzw. gegebenenfalls wieder auf null setzt.
Edit:
Sry, Ähnliches wurde schon gepostet, zu spät gesehen
Beitrag zuletzt geändert: 7.7.2011 20:43:57 von markus-niederbrucker -
Danke, das mit dem Ticker hab ich irgendwie gelöst,
edit: sorry, passt jetzt nicht mehr zum Titel, eigentlich ein neues Problem
Zwei Texte nacheinander mit jquery fadein / fadeout
ich will, das bei Klick auf ein Element, in dem vorher schon was steht
dieses verschwindet und dafür zuerst ein "... bitte warten" kurz ein- und wieder ausgeblendet wird
und dann ein anderer Text eingeblendet, wird, siehe Code-Versuch
mein Versuch
<script type="text/javascript"> $(document).ready(function() { $("span.meineklasse").click(function () { $(this).html('<span style="color:blue;">einem Moment bitte</span>').fadeIn(1000).fadeOut(1000); $(this).html('<span style="color:red;">Alles OK</span>').fadeIn(2000); }); }); </script>
es funktioniert leider nicht,
es wir zweimal Alles OK ein-geblendet ?!
?
Beitrag zuletzt geändert: 9.8.2011 0:05:33 von promohit -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage