Textfarbe in der Ausgabe eines Array
Hanna
- javascript
0 Gunnar Bittersmann0 Hanna0 EKKi0 Gunnar Bittersmann0 ChrisB
Hallo zusammen,
ich habe im head folgendes gemacht:
<script type="text/javascript">
var texter=new Array
texter[0]='Text 1';
texter[1]='Text 2';
usw.
function changer(){
{
num=Math.floor(20*Math.random());
document.getElementById('text').innerHTML=texter[num];
}
window.setTimeout("changer()",5000);
}
</script>
läuft auch super. Nur möchte ich, die Farbe von den ausgegebenen Texten selbst bestimmen. Zurzeit ist es einheitlich schwarz, sie sollen aber einen Rotton haben. Das bekomme ich nicht hin. Weder mit Angaben im body noch innerhalb des scripts. Kann mir jemand verraten. Was ich wo eingeben muss?
Liebe Grüße Hanna
@@Hanna:
nuqneH
num=Math.floor(20*Math.random());
num sollte eine lokale Variable sein, keine globale! Also var
davor:
var num = Math.floor(20*Math.random());
Oder noch besser gleich ohne:
document.getElementById('text').innerHTML = texter[Math.floor(20 * Math.random())];
Wo kommt die 20 her? Ist das die Anzahl der Texte in deinem Array texter? Wenn ja, sollte das auch dastehen:
document.getElementById('text').innerHTML = texter[Math.floor(texter.length * Math.random())];
Du willst doch nicht deine Funktion abändern müssen, wenn Texte hinzukommen oder wegfallen.
Aus einer Funktion auf lokale Variablen außerhalb der Funktion zuzugreifen, ist wohl auch nicht state of the art.
Zurzeit ist es einheitlich schwarz, sie sollen aber einen Rotton haben. Das bekomme ich nicht hin. Weder mit Angaben im body noch innerhalb des scripts. Kann mir jemand verraten. Was ich wo eingeben muss?
Was: die http://de.selfhtml.org/css/eigenschaften/schrift.htm#color@title=Textfarbe. Wo: im Stylesheet.
#text { color: #F00 }
Qapla'
Hallo Gunnar,
danke für Deine Tipps. Besonders die die Sache mit texter.length um nicht immer die Anzahl anpassen zu müssen ist super!
Ja. 20 ist die Anzahl der Texte.
Ich hatte schon im body an der Stelle wo die Texte erscheinen sollen einen Eintrag gemacht, nur wird die Farbe als schwarz dargestellt. Hier mal verkürzt:
<td valign="top" bgcolor="#9" width="153px" height="">
<div style="position: relative; top: 15px; left: 1px; height: 100%;">
<font color="#C9" font size="3" face="Verdana, Arial, Helvetica, sans-serif"></font></td>
Schöne Grüße Hanna
Mahlzeit Hanna,
Ich hatte schon im body an der Stelle wo die Texte erscheinen sollen einen Eintrag gemacht, nur wird die Farbe als schwarz dargestellt. Hier mal verkürzt:
<td valign="top" bgcolor="#9" width="153px" height="">
Erstens solltest Du Farbangaben (wie generell *alle* Angaben, die sich auf das reine Aussehen beziehen), *generell immer* in CSS vornehmen (in HTML haben diese *absolut nichts* zu suchen) - wie Gunnar ja auch bereits schrieb.
Zweitens solltest Du Dich darüber informieren, wie <http://de.selfhtml.org/css/formate/wertzuweisung.htm#farben@title=gültige Farbangaben in CSS> aussehen ... :-)
MfG,
EKKi
Huch schon so spät ;-)
Hallo EKKi,
Du und Gunnar habt bestimmt recht was CSS anbelangt. Nur ist bislang das Thema CSS einfach zu verwirrend für mich. Sorry, bin halt kein Profi und möchte nur für ne Freundin von mir einen sich verändernden Text, der in einem JS Array verbaut ist eine bestimmte Farbe zuweisen. Geht das nicht auch irgendwie ohne CSS?
Gruß Hanna
Mahlzeit Hanna,
Sorry, bin halt kein Profi und möchte nur für ne Freundin von mir einen sich verändernden Text, der in einem JS Array verbaut ist eine bestimmte Farbe zuweisen.
Dann tu das ... was genau funktioniert dabei nicht? Die Farbangabe wird nicht umgesetzt, der Text bleibt schwarz - richtig? Hast Du mal überprüft, ob das, was Du dort als Farbe angibst, überhaupt ein gültiger Wert für Farbangaben ist? Entsprechende Links hast Du mittlerweile von uns beiden bekommen.
Geht das nicht auch irgendwie ohne CSS?
Sicher geht das - es ist aber nicht empfehlenswert.
MfG,
EKKi
Danke für Eure Tipps. Wrde das eine oder andere sicherlich bedenken und vielleicht auch übernehmen. Gerade der Tipp mit dem texter[Math.floor(texter.length war klasse.
Den Rest meines Problems werde ich auch noch versuchen zu lösen.
Schöne Grüße und eine nette Woche
Hanna
@@Hanna:
nuqneH
<td valign="top" bgcolor="#9" width="153px" height="">
Verwende keine missbillgten HTML-Attribute (wie @valign und @bgcolor) für Darstellungsangaben; verwende http://de.selfhtml.org/css/index.htm@title=CSS!
Verwende keine Tabellen zum Layouten; verwende http://de.selfhtml.org/css/index.htm@title=CSS!
Die http://de.selfhtml.org/html/allgemein/farben.htm#hexadezimal@title=Farbangabe ist falsch.
<div style="position: relative; top: 15px; left: 1px; height: 100%;">
Verwende keine @style-Attribute; notiere Darstellungsangaben nicht inline, sondern im Stylesheet!
<font color="#C9" font size="3" face="Verdana, Arial, Helvetica, sans-serif"></font></td>
Verwende keine missbillgten HTML-Elemente (wie font) und HTML-Attribute (wie @size und @face) für Darstellungsangaben; verwende http://de.selfhtml.org/css/index.htm@title=CSS!
Die http://de.selfhtml.org/html/allgemein/farben.htm#hexadezimal@title=Farbangabe ist falsch.
Qapla'
Hallo Gunnar,
<td valign="top" bgcolor="#9" width="153px" height="">
Verwende keine missbillgten HTML-Attribute (wie @valign und @bgcolor) für Darstellungsangaben; verwende http://de.selfhtml.org/css/index.htm@title=CSS!
ACK, und noch dazu ist "153px" kein gültiger Wert für das Attribut width, und height="" ist zumindest nicht sinnvoll.
Ist dir das nicht mehr aufgefallen, oder hattest du das gar nicht mehr im Detail angesehen?
So long,
Martin
Hallo Martin!
Ist dir das nicht mehr aufgefallen, oder hattest du das gar nicht mehr im Detail angesehen?
@@@@Gunnar @war @sicher @zu @sehr @aufs @Eintippen @seiner @Suchhilfe-»@« @beschäftigt :)
@@@@@@@@Gunnar: @was @kommt @denn @als @Nächstes?
Viele Grüße aus Frankfurt/Main,
Patrick
@@Patrick Andrieu:
nuqneH
@@@@Gunnar @war @sicher @zu @sehr @aufs @Eintippen @seiner @Suchhilfe-»@« @beschäftigt :)
Hier ist #selfhtml #forum, nicht #twitter.
'@@' beschäftigt mich kein Bisschen. Im Gegenteil, ich wäre damit beschäftigt, es zu entfernen.
'@' vor Attributen dient keiner Suche, sondern ist einfach nur XPath-Style.
Qapla'
Hallo Gunnar!
'@@' beschäftigt mich kein Bisschen. Im Gegenteil, ich wäre damit beschäftigt, es zu entfernen.
@Deine @Sache... @Jedem @seine @Macke!
'@' vor Attributen dient keiner Suche, sondern ist einfach nur XPath-Style.
@Aber @hier @absolut @überflüssig @und @steht @nicht @so @in @SELFHTML. @Ergo: @Du @verwirrst @die @Leute @nur.
Viele Grüße aus Frankfurt/Main,
Patrick, hasst dieses [Alt Gr]-Fingergeknäuel
Hallo Patrick,
Patrick, hasst dieses [Alt Gr]-Fingergeknäuel
hilft dir das Wissen, dass AltGr gleichbedeutend ist mit Alt+Ctrl? Dass also Alt+Ctrl+Q auch das @-Symbol erzeugt? Das verlagert immerhin das Problem von der rechten zur linken Hand ... ;-)
Ciao,
Martin
@@Patrick Andrieu:
nuqneH
Patrick, hasst dieses [Alt Gr]-Fingergeknäuel
Ich auch. Deshalb ist '@' für mich [Shift][2].
Qapla'
@@Der Martin:
nuqneH
ACK, und noch dazu ist "153px" kein gültiger Wert für das Attribut width, und height="" ist zumindest nicht sinnvoll.
Ist dir das nicht mehr aufgefallen, oder hattest du das gar nicht mehr im Detail angesehen?
Ersteres, bedingt durch letzteres. ;-)
Es macht auch wenig Sinn, erst den Attributwert zu ändern und die Einheit zu entfernen, dann das Attribut zu entfernen und die Darstellungsangabe ins Stylesheet zu schreiben – und dort dann die Einheit zu vergessen.
Qapla'
Hi,
Ich hatte schon im body an der Stelle wo die Texte erscheinen sollen einen Eintrag gemacht, nur wird die Farbe als schwarz dargestellt. Hier mal verkürzt:
<td valign="top" bgcolor="#9" width="153px" height="">
<div style="position: relative; top: 15px; left: 1px; height: 100%;">
<font color="#C9" font size="3" face="Verdana, Arial, Helvetica, sans-serif"></font></td>
Wenn dieses FONT-Element innerhalb des Elementes liegt, dessen Inhalt du per Zuweisung an innerHTML komplett ersetzt, dann solltest du dich nicht wundern, dass es keine Wirkung zeigt - es ist nämlich anschliessend gar nicht mehr vorhanden.
Dazu, wie wenig sinnvoll die Verwendung des FONT-Elements hier ist, haben die anderen schon genug gesagt.
MfG ChrisB