Funktion mit Parameter aus einer anderen Funktion m.Param.aufrufen
Martin
- javascript
Hallo!
Habe folgendes Problem:
Folgende Funktion will ich als Kontroll-Funktion einsetzen und muß eine andere Funktion mit 2 Parameter füttern, die ich schon der 1. Funktion übergeben habe, d.h. ich will eine Zelle einer Tabelle blinken lassen.
Funktionsaufruf:
flash("f2","blue");
Java-Script-Code:
function flash(zelle,farbe){
for( i=6; i>0; i-- ){
setTimeout("go('f2','red')",20);
setTimeout("go('f2','white')",20);
}
}
function go(zelle,farbe){
document.all[zelle].style.backgroundColor =farbe;
}
Leider gibt's dabei immer ein Fehler.
Wer hat einen Tip für mich???
Danke schonmal
Martin
hi,
Probiers mal ohne Anführunsgzeichen:
function flash(zelle,farbe)
{
for( i=6; i>0; i-- )
{
setTimeout(go('f2','red'),20);
setTimeout(go('f2','white'),20);
}
}
Grüße
Klaus
Hi!
Leider geht's immer noch nicht so gut. Schau doch mal auf:
http://home.a-city.de/smarty/index.htm
und bewege die Maus auf Busfahrplan.
Dann gehe zu
http://home.a-city.de/smarty/AzubiPage/menue.htm
und klicke mal auf ein Button. Du wirst sehen - die selbe Funktion mit zwei Unterschiedlichen Reaktionen!
Was jetzt???
Martin
Hi!
Leider geht's immer noch nicht so gut. Schau doch mal auf:
http://home.a-city.de/smarty/index.htm
»»
und bewege die Maus auf Busfahrplan.
Dann gehe zu
http://home.a-city.de/smarty/AzubiPage/menue.htmund klicke mal auf ein Button. Du wirst sehen - die selbe Funktion mit zwei Unterschiedlichen Reaktionen!
Was jetzt???
Martin
hallo Martin,
wenn's darum geht, daß das Bild flackern soll, dann tut's das ja, aber eben nur bei 'onClick'.
auf der anderen Seite ist wird 'flash()' bei 'onMouseOver' aufgerufen.
Vielleich ist's das
Grüße
Klaus
Hallo Martin,
http://home.a-city.de/smarty/index.htm
»»
rechter Mausklick auf der Seite: *lol*
Meine Antwort: *lol*
Pech gehabt, ich sehe keinen Grund dir zu helfen.
Viele Grüße
Antje
Hallo Antje,
Sei nun mal nicht so streng.
nerviger ist in jedem Falle, dieses 'alert()', wenn Du mit Netscape arbeitest. Was interessiert mich, daß das blinken und leuchten bei mir nicht geht.
Das Web ist voll von solchem Schnick-Schnack. Ist nun mal so.
Alles was geht, wird auch gemacht, irgendwann.
Ich würde mich halt nicht lange auf solchen Seiten aufhalten.
Vielleicht ist es eine Projekt-Arbeit, die genau das zur Aufgabe hat, nämlich alles mögliche in eine Seite reinzupacken.
Grüße
Klaus
Oh, sorry..... jetzt ist es weg!!
Kannst du nicht nochmal schauen?? (lieb guck) ???
Martin
Hallo Martin,
Oh, sorry..... jetzt ist es weg!!
:-) ich hoffe es bleibt auch so. Wie viele andere navigiere ich extreme viel mit der rechten Maustaste. Seiten, die das unterbinden, haben mich normalerweise das letzte Mal gesehen.
Kannst du nicht nochmal schauen?? (lieb guck) ???
Du hast ein grundsätzliches Problem:
function flash(zelle,farbe){
for( i=6; i>0; i-- ){
setTimeout("go('f2','red')",20);
setTimeout("go('f2','white')",20);
}
}
Diese Schleife, ruft 6 mal hintereinander den Farbwechsel auf und dazu in gleichen Zeitabständen.
i=6 rot in 20 ms, weiß in 20 ms
i=5 rot in 20 ms, weiß in 20 ms
...
merkst du worin das Problem besteht? Schleifen sind relativ schnell. Es vergehen pro Durchlauf keine 20 ms. Deshalb klappt dein Script nicht.
Eine mögliche Lösung wäre
function flash(zelle,farbe,i)
{
if (i%2==0)go('f2','red') else go('f2','white')
i++;
if (i<6) setTimeout("flash('"+zelle+"','"+farbe+"',"+i+")",20);
}
Als Zählerparameter mußt du also noch zusätzlich i übergeben.
if (i%2==0) untersucht, ob i gerade oder ungerade ist (ist der Rest bei der Division durch 2 0 (gerade) oder nicht (ungerade).
Viele Grüße
Antje
<img src="http://pc-anfaenger.de/pca/sam/pcanfaenger.gif" alt="">