John: Zustand eines Links abfragen

hi,

kurz und knackig:
Gibts mit JavaScript ne möglichkeit den Zustand eines Links abzufragen ???
also sowas wie "ahover == true" ???

Danke
Gruß
John

  1. ö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)

    1. 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 ?

      1. 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

        1. hi,

          dann rufe noClick eine funktion auf

          korrektur: onClick bietet sich vielleicht eher an ;-)

          gruss,
          wahsaga

          1. 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 !?!?!?!?

        2. 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 !?!?!?!?

          1. 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

            1. 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

              1. 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

                1. 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

                  1. 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

    2. 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 ?

  2. 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

    1. 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