Archivlink: javarea.de Forum > (X)HTML & CSS (allgemein) > Evant-handler!?!
Vollständigen Link anzeigen: javarea.de Forum > (X)HTML & CSS (allgemein) > Evant-handler!?!
Pages: [1]
| geschrieben von Shaddow am 10.12.2003 - 16:37 |
Ich habe ne Frage zu der ich die Antwort auch nich bei selfHTML gefunden habe...
| Zitat | | | <p id="Absatz"
onClick="document.getElementById('Absatz').firstChild.nodeValue='Sehen Sie!'">
Ich bin dynamisch</p> |
Das is aus SelfHTML was sicherlich jeder weiß...
Das was jetzt rot ist, ist das, was später nach den Click das Verändern, also das Dynamische verursacht...
Das heißt, wenn ich einmal drauf klicke, dann verändert sich der Text...
Ich möchte aber, dass sich der Text bei jedem Klick verändert, und ich habe das auch scon mit secondChild probiert, dass hat aber nicht funtionier, also, wie geht das?
Wissen ist Macht- nichts wissen macht nichts...
___________________________________________________
Shaddow |
| geschrieben von Martin am 10.12.2003 - 19:30 |
Ave,
;) da hast du einen kleinen Denkfehler drin. ein sogenanntes secondChild gibt es nicht.
Wie du der selfhtml doku entnehmen kannst gibt es sogenannte Eltern- und Kind Elemente. (engl.: parent und child )
Um bei deinem Bsp: zu bleiben
<p id="Absatz" onClick="document.getElementById('Absatz').firstChild.nodeValue='Sehen Sie!'">
Ich bin dynamisch</p>
<p id="Absatz"</p> ist das Elternelement und das erste und einzige Kindelement ist der Text "Ich bin dynamisch".
ich hoffe du verstehst worauf ich hinaus möchte.
mfg martin |
| geschrieben von Shaddow am 12.12.2003 - 18:29 |
das heißt, dass man nicht einfach einstellen kann, dass durch einen weiteren klick in anderer text kommt....
z.B.: Das mit dem <I>ich bin dynamisch</I> und als nächstes dann : <I>Ich sagte doch schon, dass ich dynamisch bin</I>
´das ist ja doof!
Wissen ist Macht- nichts wissen macht nichts...
___________________________________________________
Shaddow |
| geschrieben von Aragos am 12.12.2003 - 19:29 |
doch das kannst du 
Aber dann brauchst du eine Funktion ;)
var x = 1;
function dynamicText()
{
switch(x)
{
case "1": document.getElementById('Absatz').firstChild.nodeValue='text1!';
break;
case "2": document.getElementById('Absatz').firstChild.nodeValue='text2!';
break;
// case "3": .... ect.
default: x=1; break;
}
x++;
}
;)
Martin: Keine Kritik, sondern besserer Programmierstil. ;) |
| geschrieben von Shaddow am 12.12.2003 - 20:32 |
Soweit versteh ich das ja alles - sind C++-Funktionen oder?
Aber wie mach ich das mit diesem <p id="Absatz" >?
Schließ ich den gleich und gebe dan die Funktion ein?
Gib mir mal bitte die ganze Funktion mit diesem :Dieser Text ist dynamisch zeugs an....
Danke
Wissen ist Macht- nichts wissen macht nichts...
___________________________________________________
Shaddow |
| geschrieben von Martin am 12.12.2003 - 20:46 |
Ave,
hier ist kein C++ Code vorhanden. Das ist reines javascript.
<html>
<head>
<script type="text/javascript">
<!--
var x = 1;
function dynamicText()
{
switch(x)
{
case "1": document.getElementById('Absatz').firstChild.nodeValue='text1!';
break;
case "2": document.getElementById('Absatz').firstChild.nodeValue='text2!';
break;
// case "3": .... ect.
default: x=1; break;
}
x++;
}
//-->
</script>
</head>
<body>
<p id="Absatz" onClick="dynamicText();">Klick mich</p>
</body>
</html>
mfg martin |
| geschrieben von Shaddow am 12.12.2003 - 20:51 |
Aha...
das ist wirklich gut, das Dumme ist bols, es funktioniert nicht!
Wissen ist Macht- nichts wissen macht nichts...
___________________________________________________
Shaddow |
| geschrieben von Martin am 12.12.2003 - 21:23 |
Ave,
ich weiß jetzt im Mom nicht wo der Fehler liegt, aber ich hab eine funktionierende Verson für dich. Wenn ich etwas Zeit hab schau ich mal wo der Fehler lag.
<html>
<head>
<script type="text/javascript">
<!--
var x = 0;
var txt = new Array( "Text1", "Text2", "Text3" );
function dynamicText(obj)
{
obj.firstChild.nodeValue = txt[x];
if(x==txt.length) x=0; else x++;
}
//-->
</script>
</head>
<body>
<p id="Absatz" onClick="dynamicText(this);">Klick mich!</p>
</body>
</html>
mfg martin |
| geschrieben von Shaddow am 12.12.2003 - 21:41 |
Das funktioniert!
Wo wir schon mal dabei sind, kannst du mir mal erklären was das heißt?
ein bisschen was weiß ich ja schon, - glaube ich zumindest-...
| Zitat | | | <html>
<head>
<script type="text/javascript">
<!--
var x = 0;
var txt = new Array( "Text1", "Text2", "Text3" );
function dynamicText(obj)
{
obj.firstChild.nodeValue = txt[x];
if(x==txt.length) x=0; else x++;
}
//-->
</script>
</head>
<body>
<p id="Absatz" onClick="dynamicText(this);">Klick mich!</p>
</body>
</html>
|
Also...
das versteh ich z.B. nicht...
ich weiß nur das x eine Variable ist der die Zahl 0 zugewiesen wird oder?
| Zitat | | | var txt = new Array( "Text1", "Text2", "Text3" ); |
Weiß ich auch nicht ... könnt ich nur raten z.B.: die Variable txt wird deklariert ...- newArray -heißt das neuer Bereich oder so was?
| Zitat | | | function dynamicText(obj) |
Ich würd mal sagen hier nach kommt die Funktion!
| Zitat | | | obj.firstChild.nodeValue = txt[x]; |
versteh ich komplett nich!
| Zitat | | | if(x==txt.length) x=0; else x++; |
Wenn x=der Länge von txt ist, dann ist x = 0, ansonsten zählt x aufwärts...
War das in etwa richtig so?
Wissen ist Macht- nichts wissen macht nichts...
___________________________________________________
Shaddow |
|