Problem mit div, onmouseover und links

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Problem mit div, onmouseover und links

    Hallo zusammen,
    ich hab da mal wieder ein kleines Problem.
    Die Situation ist folgende:
    Ich habe einen Div, der bei einem onClick Event in den Ansichtsbereich herein gefahren wird. Auf diesem Div finden sich mehrere Links. Beim verlassen des Div's soll dieser wieder aus dem Ansichtsbereich heraus gefahren werden.
    Das Problem ist nun, sobald ich mit der Maus über einen der Links fahre, wird das onmouseout Event des Div's ausgelöst und dieser ausgeblendet, was natürlich in diesem Fall nicht erwünscht ist. Das ausblenden des Div'ss soll erst beim verlassen des Div's ausgeblendet werden. Hat jemand eine Idee wie ich dies beheben kann?
    mfg
    Günni


    Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
    Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
    Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
    City-Tiger - Online durch die Straßen tigern...

  • #2
    Ziemlich tricky, aber wenn du statt onclick z.B. onmousedown verwendest um den Zoom zu starten und onmouseup um zu beenden. Würde aber voraussetzen, dass der User die Taste gedrückt hält.
    Oder aber du verpasst den Links auch ein onmouseover mit dem Start des Zooms. Würde dann aber so sein, dass der Zoom beginnt sobald zu ins div kommst und dann nochmals beginnt wenn du über den Link gehst.
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      OK, ich merke ich hab mich ein wenig unkorrekt ausgedrückt. In den Div wird nicht herein gezoomt, sondern wird dieser bei einem Klick auf eine Lasche herein geslidet. Beim verlassen des Div's im Bild soll dieser wieder heraus geslidet werden. Man kann es sich vorstellen wie ein Menü das herein gefahren bzw. heraus gefahren wird.
      mfg
      Günni


      Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
      Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
      Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
      City-Tiger - Online durch die Straßen tigern...

      Kommentar


      • #4
        Re: Problem mit div, onmouseover und links

        Original geschrieben von Günni
        Das Problem ist nun, sobald ich mit der Maus über einen der Links fahre, wird das onmouseout Event des Div's ausgelöst
        Ja, natürlich.

        Im mouseout des Divs überprüfen, ob das Element, auf welchem dann mouseover stattfindet (event.relatedTarget bzw. event.toElement im IE) Nachfahre des Divs ist oder nicht (element.contains() im IE, für andere Browser existieren Nachbauten) - und entsprechend reagieren.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          @wahsaga
          Die Idee kam mir auch schon, leider kannte ich die Befehle noch nicht.
          Wieder was dazu gelernt. Die IE Version funktioniert. Das einzigste was ich jetzt noch rausfinden muss, ist wie ich mit dem Firefox eine Contains Prüfung machen kann.
          mfg
          Günni


          Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
          Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
          Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
          City-Tiger - Online durch die Straßen tigern...

          Kommentar


          • #6
            Original geschrieben von Günni
            Das einzigste was ich jetzt noch rausfinden muss, ist wie ich mit dem Firefox eine Contains Prüfung machen kann.
            Na ganz einfach, vom übergebenen Element aus so lange nach oben hangeln (parentNode), bis man entweder bei dem Element, auf welchem die Methode aufgerufen wurde angekommen ist (austeigen mit Rückgabewert true), oder bei body oder html, bzw. wenn kein parentNode mehr existiert (false).
            Lässt sich als prototype-Methode sehr schön an alle HTMLElement-Objekte ranhängen.

            Ich habe das auch schon als rekursive Lösung gesehen, wo dann jeweils ein Methodenaufruf auf dem parentNode stattfand - aber gegenüber einer einfachen While-Schleife erscheint mir das ziemlich unperformant, weil man sich ja mit jeder Rekursionsebene den Stack weiter vollballert ...
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              Ja, so ähnlich hab ich das...
              Mein Code sieht im moment wie folgt aus:
              Code:
              	function _contains_firefox(a, b)	
              	{
              		while (b.parentNode) {
              			if ((b = b.parentNode) == a) {
              				return true;
              			}
              		}
              		return false;
              	}
              Leider funzt das bei FF noch nicht so ganz wie es soll. Wenn ich über einen Link fahre, und von diesem wieder herunter gehe, so wird mir der Div ebenfalls wieder ausgeblendet.
              mfg
              Günni


              Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
              Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
              Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
              City-Tiger - Online durch die Straßen tigern...

              Kommentar


              • #8
                OK, hab das Problem nun behoben. Hab nochmals am Anfang eine Abfrage eingebaut, die Prüft ob a == b entspricht und wenn dies der Fall ist, so wird die Funktion mit true beendet.
                Danke für eure hilfe...
                mfg
                Günni


                Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
                Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
                Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
                City-Tiger - Online durch die Straßen tigern...

                Kommentar

                Lädt...
                X