[JavaScript] Suckerfish etwas anders gebraucht. // error

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

  • [JavaScript] Suckerfish etwas anders gebraucht. // error

    http://igway.de/igway/newtest/logo/logo.htm

    läuft wunderbar im firefox, der IE will nicht da was im Javascipt code nicht stimmt.

    javascript:
    Code:
    <script type="text/javascript"><!--//--><![CDATA[//><!--
    startList = function() {
    		logo = document.getElementById("logo");
    				logo.onmouseover=function() {
    					add = document.getElementById("add");
    				add.className+=" over";
    				}
    				logo.onmouseout=function() {
    					add.className=add.className.replace(" over", "");
    				}
    			}
    		
    window.onload=startList;
    add = document.getElementById("add");
    add.className+=" over";

    --> das müsste doch so stimmen ?

  • #2
    also so gibt es keine fehlermeldung:
    PHP-Code:
    startList = function() 
    {
        var 
    logo document.getElementById("logo");
        
    logo.onmouseover=function() 
        {
            var 
    add document.getElementById("add");
            
    add.className += " over";
        }
        
    logo.onmouseout=function() 
        {
            
    add.className=add.className.replace(" over""");
        }

    allerdings kann der ie hover nur auf links anwenden!

    gruß
    peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      PHP-Code:
      startList = function() {
          if (
      document.all&&document.getElementById) {
              
      navRoot document.getElementById("nav");
              for (
      i=0i<navRoot.childNodes.lengthi++) {
                  
      node navRoot.childNodes[i];
                  if (
      node.nodeName=="LI") {
                      
      node.onmouseover=function() {
                          
      this.className+=" over";
                      }
                      
      node.onmouseout=function() {
                          
      this.className=this.className.replace(" over""");
                      }
                  }
              } 
      im original suckerfish greift er sich auch die obermenü <ul> raus, und gibt dann jedem kind element (node) also jedem <li> nen mouseover -

      oder nein moment, das stimmt, aber die links sind ja auch kind elemente und kriegen ebenfalls dne mouseover ab, richtig?

      edit:

      der prüft ja noch extra, ob die kinderelemente auch <li> sind:
      ..... if (node.nodeName=="LI") {.....
      Zuletzt geändert von dayscott; 02.08.2007, 22:17.

      Kommentar


      • #4
        deine css-anweisungen sind nicht ie-kompatibel

        gruß
        peter
        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
        Meine Seite

        Kommentar


        • #5
          #nav li:hover ul, #nav li.over ul
          {
          display: block;


          }


          -> ist der original suckerfish und funktioniert für den IE - in meiner logo.htm ist es doch exakt der selbe sachverhalt

          #logo:hover #add, #logo.over #add
          {
          visibility:visible;
          }

          Kommentar


          • #6
            das ist mit sicherheit nicht exakt der selbe sachverhalt....
            Die Milch bleibt ranzig!

            Kommentar


            • #7
              hm, ok - dann kann ich ihn mir also nicht erschliesen.

              ich wär dir sehr verbunden wenn du mir den unterschied sagen würdest .

              Kommentar


              • #8
                im original wird z.B. eine Klasse auf ein tag angewendet,
                du wendest eine klasse auf eine id an oO

                zudem sind display:block und visibility:visible 2 unteschiedliche sachverhalte
                Die Milch bleibt ranzig!

                Kommentar

                Lädt...
                X