Zustand eines Links abfragen
John
- javascript
hi,
kurz und knackig:
Gibts mit JavaScript ne möglichkeit den Zustand eines Links abzufragen ???
also sowas wie "ahover == true" ???
Danke
Gruß
John
öhm...
vielleicht doch nochmal kurz warum ich das brauche!
vielleicht hat ja jemand ne idee wie man das anderst lösen kann.
Also ich hab eine html navigation mit Rollover-Effekten
Bsp.
button ist Grün
bei Mouseover Button = hellgrün
Wenn ich den Button anklicke soll er hellgrün bleiben
wenn ich ihn wieder anklicke soll er wieder Grün sein
usw.
da ich einen rollover effekt eingebaut habe kann ich nicht einfach sagen das der button wenn er grün ist hellgrün werden soll und umgekehrt da der button beim klick ja sschon hellgrün durch den rollover effekt ist!
Meine idee wäre jetzt abzufragen ob der button gerade einen a:hove effekt hat...dann soll er hellgrün werden ansonsten grün
oh man..das is ja totaler murks...der button hat ja immer wenn er geklickt wird nen hover effekt...
FUCK
höhö..ulkig...
verdammt hat jemand ne andere idee
(das is mit echt eben beim schreiben aufgefallen wie beschissen die idee is...sollt öffters mal meine gedanken aufschreiben)
ok...
nächste idee
Ich müsste doch einfach in einner schleife abfragen können der wievielte klick das ist..also beim ersten klick hellgrün beim 2. klick grün.
dann habe ich aber das Problem das ich nicht nur einen sonder 5 buttons habe...
Wenn ich jetzt den ersten button klicke und er wird hellgrün
danach den 2. button klicke (der beim ersten klick hellgrün werden soll) wird dieser wohl grün weil es für die Funktion der 2. klick ist...
hat jemand ne idee wie ich das machen könnte ohne für jeden button ne eigene funktion zu schreiben ?
hi,
Ich müsste doch einfach in einner schleife abfragen können der wievielte klick das ist..also beim ersten klick hellgrün beim 2. klick grün.
dann rufe noClick eine funktion auf, die eine zählervariable um eins erhöht.
dann habe ich aber das Problem das ich nicht nur einen sonder 5 buttons habe...
Wenn ich jetzt den ersten button klicke und er wird hellgrün
danach den 2. button klicke (der beim ersten klick hellgrün werden soll) wird dieser wohl grün weil es für die Funktion der 2. klick ist...
dann gebe der funktion beim aufruf noch einen parameter für die nummer des geklickten buttons mit, und zähle einen zähler speziell für diesen button hoch.
tipp: ein array würde sich hier zum aufnehmen der zählerwerte anbieten.
gruss,
wahsaga
hi,
dann rufe noClick eine funktion auf
korrektur: onClick bietet sich vielleicht eher an ;-)
gruss,
wahsaga
ja genau
an sowas denk ich auch die ganze zeit...
bin da grad am rummtüfteln...
habs auch hinbekommen für einen button:
var i = 0;
function switchactive(Layer_Name)
{
if(i==2) i=0;
if(i==0)
{
document.all[Layer_Name].style.backgroundImage='url(../images/navigation/button_grün_pfeil_on.gif)';
}
else
{
document.all[Layer_Name].style.backgroundImage='url(../images/navigation/button_grün_pfeil.gif)';
}
i=i+1;
soweit so gut....
aber wie soll das mit den zählern laufen ???
müsste jetzt der funktion noch ne button-id übergeben damit sie weiss welche button das is !?!?!?!?
ja genau
an sowas denk ich auch die ganze zeit...
bin da grad am rummtüfteln...
habs auch hinbekommen für einen button:
var i = 0;
function switchactive(Layer_Name)
{
if(i==2) i=0;
if(i==0)
{
document.all[Layer_Name].style.backgroundImage='url(../images/navigation/button_grün_pfeil_on.gif)';
}
else
{
document.all[Layer_Name].style.backgroundImage='url(../images/navigation/button_grün_pfeil.gif)';
}
i=i+1;
soweit so gut....
aber wie soll das mit den zählern laufen ???
müsste jetzt der funktion noch ne button-id übergeben damit sie weiss welche button das is !?!?!?!?
hi,
warum postest du die gleiche antwort doppelt, [pref:t=72989&m=420347] - hast du angst, dass dir nicht genug aufmerksamkeit geschenkt wird?
lass sowas bitte.
aber wie soll das mit den zählern laufen ???
müsste jetzt der funktion noch ne button-id übergeben damit sie weiss welche button das is !?!?!?!?
dazu habe ich mich doch schon in der vorgehenden antwort geäussert.
gruss,
wahsaga
Sorry wegen doppelpost...bin ziemlich unter zeit druck..
jap weiss ich...
Aber ich weiss nicht wie ichs machen soll.
wie kann ich den für verschiedene button-id's verschiedene zähler anweden bzw den selben zähler für alle (mh das wird wohl icht hinnhaun)
ok,..
ich hab die buttons 1, 2 und 3
und den zähler 1, 2 und 3 !?!?!?!
wenn button 1 -> erhöhe mir zähler 1 ???
find ich ziemlich umständlich...
zumal es sein kann das noch buttons hinzukommen sehr undynamisch das ganze...
mhhh
bin für jeden rat dankbar !!
Gruß
John
hi,
wie kann ich den für verschiedene button-id's verschiedene zähler anweden bzw den selben zähler für alle (mh das wird wohl icht hinnhaun)
ich sagte doch, am einfachsten machst du dies mit einem array.
zaehler = nwe Array();
ok,..
ich hab die buttons 1, 2 und 3
und den zähler 1, 2 und 3 !?!?!?!wenn button 1 -> erhöhe mir zähler 1 ???
im button 1 übergibst du also der funktion den (zusätzlichen) parameter 1.
und in der funktion schreibst du dann
zaehler[parametername-1]++;
parametername-1, weil javascript bekanntlich bei null an zu zählen fängt.
und varname++; ist eine einfache anwendung des inkrementierungs-operators, damit wird der inhalt der variablen um eins erhöht.
find ich ziemlich umständlich...
ich nicht.
zumal es sein kann das noch buttons hinzukommen sehr undynamisch das ganze...
dann lege dir am anfang des scriptes eine weitere variable an, die die button-anzahl enthält.
diese kannst du dann in einer schleife verwenden, um dir genau die benötige anzahl an array-elementen mit dem startwert 0 zu initialisieren.
gruss,
wahsaga
Vielen Dank erstmal für deine Bemühungen
aber das kann so doch nicht gehen.
Bzw. ich habs wohl noch nicht wirklich verstanden
ich übergeb der funktion mit dem button noch den paramter 0 z.B
jetzt wird der mit meinnem zähler erhöt
aber sobald ich wieder auf den button klicke und die funktionn neue aufgerufen wird ist der parameter wieder bei null...
den ich übergeb der funktion immer null und die merkt sich ja nicht das sie die 0 vorhinn erhöt hat...
ich kann in einem array ja nur werte speichern und keine Variablen (oder???)
ich müsste dann ja in dem array verschiedene Variable speichern die jeweils einnen wert haben
also Array:
button1 = 0
button2 = 0
button3 = 0
dann könnte ich sagen Array[button1]++
geht das ?? oh man ich sollt mich mmehr mit arrays beschäftigen
hi,
aber das kann so doch nicht gehen.
doch.
Bzw. ich habs wohl noch nicht wirklich verstanden
scheint mir auch so :-/
ich übergeb der funktion mit dem button noch den paramter 0 z.B
jetzt wird der mit meinnem zähler erhöt
es wird, nach dem was ich vorgeschlagen habe, der wert des array-elementes mit dem _index_ 0 erhöht (wenn du als parameter 1 übergeben hast, wie gesagt -1 rechnen wegen der zählweisevon JS).
aber sobald ich wieder auf den button klicke und die funktionn neue aufgerufen wird ist der parameter wieder bei null...
wir haben beim vorherigen klick den wert in zaehler[0] um eins erhöht, wenn er vorher null war, hat er jetzt also den wert eins.
wenn du jetzt deine funktion erneut aufrufst, dann wird also jetzt er wert eins erneut um eins erhöht, ergibt 2.
den ich übergeb der funktion immer null und die merkt sich ja nicht das sie die 0 vorhinn erhöt hat...
nochmal: der wert, den du der funktion übergibt, ist der _index_ für den zugriff auf das array. er hat _nichts_ mit dem _wert_ zu tun, der in diesem array-element gespeichert ist!
ich kann in einem array ja nur werte speichern und keine Variablen (oder???)
wozu sollte das auch gut sein?
ich müsste dann ja in dem array verschiedene Variable speichern die jeweils einnen wert haben
genau das habe ich doch auch beschrieben!
also Array:
button1 = 0
button2 = 0
button3 = 0
dann könnte ich sagen Array[button1]++
zaheler[0] speichert den wert für button nummer 1, zaehler[1] den für button nummer 2, etc.
oh man ich sollt mich mmehr mit arrays beschäftigen
ja, durchaus.
gruss,
wahsaga
ok...
nächste idee
Ich müsste doch einfach in einner schleife abfragen können der wievielte klick das ist..also beim ersten klick hellgrün beim 2. klick grün.
dann habe ich aber das Problem das ich nicht nur einen sonder 5 buttons habe...
Wenn ich jetzt den ersten button klicke und er wird hellgrün
danach den 2. button klicke (der beim ersten klick hellgrün werden soll) wird dieser wohl grün weil es für die Funktion der 2. klick ist...
hat jemand ne idee wie ich das machen könnte ohne für jeden button ne eigene funktion zu schreiben ?
hi,
Gibts mit JavaScript ne möglichkeit den Zustand eines Links abzufragen ???
also sowas wie "ahover == true" ???
ok, wenn du fertig bist mit deinen selbstgesprächen *g*, dann schau dir mal http://selfhtml.teamone.de/javascript/sprache/eventhandler.htm an.
"entsprechender" eventhandler zu :hover wäre z.b. onMouseover, und auf den wirklichen click reagierst du mit onClick.
gruss,
wahsaga
ok, wenn du fertig bist mit deinen selbstgesprächen *g*, dann schau dir mal http://selfhtml.teamone.de/javascript/sprache/eventhandler.htm an.
ich will ja keinen hover effekt mmit JS erzeugen..
ich will ihn abfragen,..
aber das hat sich ja auch schon erledigt wie man an meinem "Selbstgespräch" sehen kann
das problem is ja jetzt ganz anderst..bzw. jetzt hab ich gar kein plan mehr wie ichs machen soll