ich möchte zwei Wörter aus einen beliebigen Text in einer anderen Farbe machen. Diese zwei Wörter sollen sich Zeitlich ändern. Im Mustertext werden diese dann mit green dargestellt.
Hier wäre ein Mustertext:
In der ersten Sekunde:
Das ist der Mustertext mit vielen wörtern…
In der zweiten Sekunde:
Das ist der Mustertext mit vielen wörtern…
In der dritten Sekunde
Das ist der Mustertext mit vielen wörtern…
4,5,6… Sekunde
…
mein Tipp, der einfacheren selektion der textabschnitte wegen, verwende jquery, ein javascript framework, ist allgemein recht praktisch.
dann baust du den text so auf, dass alle farblich zusammen haengenden text teile jeweils zusammen in einem span tag liegen.
Am besten gibst du den tags jeweils aufsteigende numerische ids und dazu beim farblich hervorgehobenen eine class=„green“.
Dann kannst du per setIntervall() jeweils die class entfernen und dem nächsten abschnitt zuweisen.
Das ist
der farbige
Text
und im JS mit jquery
var i = 1;
setIntervall(function(){
$(‚span‘).removeClass(„green“);
$(‚span#‘+i).addClass(„green“);
i++;
},1000);
ich würde es nicht mit JS machen sondern mit jquery.
so oder so ähnlich könnte es gehen. allerdings habe ich es nicht ausprobiert.
Hier wäre ein Mustertext:
In der ersten Sekunde:
Das ist der Mustertext mit vielen wörtern…
In der zweiten Sekunde:
Das ist der Mustertext mit vielen wörtern…
In der dritten Sekunde
Das ist der Mustertext mit vielen wörtern…
4,5,6… Sekunde
\<!--
var WechselZeit = 1000;
var xCounter = 0;
FarbArr = new Array()
// Farben hier eintragen
FarbArr[FarbArr.length] = "#FF00FF";
FarbArr[FarbArr.length] = "#00FFFF";
FarbArr[FarbArr.length] = "#FF0000";
FarbArr[FarbArr.length] = "#009F00";
FarbArr[FarbArr.length] = "#AF00FF";
FarbArr[FarbArr.length] = "#00AFFF";
FarbArr[FarbArr.length] = "#FF9F00";
function FarbWechsel() {
if (xCounter \< FarbArr.length) {
document.getElementById('FarbText').style.Color = FarbArr[xCounter];
setTimeout ("FarbWechsel()",WechselZeit);
xCounter = xCounter+1;
}
else {
xCounter = 0;
FarbWechsel();
}
}
// Startverzögerung
setTimeout('FarbWechsel()', 3000);
//--\>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
sed diam nonumy eirmod tempor invidunt ut labore et
dolore magna aliquyam erat, sed diam voluptua.
At vero eos et accusam .
Stet clita kasd gubergren, no sea takimata sanctus est
Lorem ipsum dolor sit amet.
kommt drauf an ob der Text dynamsich ist und sich ggfls. ändern kann, oder ob du den Text so Wort1 wort2Wort3 wort4 taggen kannst.
Im zweiten Fall einfach eine rekursive Funktion mit einer Schleife.
Ich kann Dir gerne auch einen Beispielcode posten. Nur dann müsste ich, wie bereits erwähnt, wissen ob der Text mit span versehen kann, oder ob man anhand der Leerzeicheichen die Wörter erkennen muss.
Super, Großartig.
Englisch: awesome
Spanisch: gran
Französisch: magnifique
Jetzt muss ich mir nur noch überlegen wie ich den Text jeweils in 2 Wörter spliten kann und dann noch mit Pfeiltasten steuern kann (Pfeiltaste rauf mehr als 2 Wörter, runter weniger, Pfeiltaste rechts um eine zehntel Sekunde schneller springen lass, links langsamer).
ja, das geht! Sicher auf verschiedene Weisen. Ein Beispiel (geht bestimmt auch noch einfacher):
var MT
var MTarr = new Array
var MTneu = new Array();
var MTneuarr = new Array();
var Farbende= „\</span\>“
var Farbanfang = „\<span style=‚color:red‘\>“
Super, Großartig.
Englisch: awesome
Spanisch: gran
Französisch: magnifique
Habe versucht den Code zu extrahieren, er funktioniert aber noch nicht ganz. ( http://www.bestaltmed.at/SpeedreadingII/indexx.php ) Vll kannst du mir sagen wieso?
Anschließend muss ich mir nur noch überlegen wie ich den Text jeweils in 2 Wörter spliten kann und dann noch mit Pfeiltasten steuern kann (Pfeiltaste rauf mehr als 2 Wörter, runter weniger, Pfeiltaste rechts um eine zehntel Sekunde schneller springen lass, links langsamer).
Das Problem war einfach das wenn ein Wort mehrmals vorgekommen ist hat er das letze genommen habe ich jetzt aber gelöst. Bitte bedenke das nur zusammenhängender text da durch läuft keine Zeilenumbrüche oder doppelten Leerzeichen geschweige denn html tags .
wegen deinen Pfeiltasten werde ich mich melden wenn ich was finde … habe so etwas noch nicht gebraucht^^
was genau willst du damit machen … könnte mir keinen Einsatzzweck dafür vorstellen