suit: Fehler/Warnunge in jQuery etc.

Beitrag lesen

Aha. Okay, vielleicht zeige ich mal,was ich mache.

Ich benuzte das superfish-Menu-Plugin in dem ich es so einbinde:

Wozu? Das Ding kann nichts, was du nicht mit jQuery-Core-Funktionen einfacher, schneller und zuverlässiger erreichen könntest - zudem verwendest du jQuery 1.2.x - das ist antik (von 2008). Aktuell ist 1.4.2.

<link rel="stylesheet" type="text/css" href="superfish/css/superfish.css" media="screen">
<script type="text/javascript" src="superfish/js/jquery-1.2.6.min.js"></script>
<script type="text/javascript" src="superfish/js/hoverIntent.js"></script>
<script type="text/javascript" src="superfish/js/superfish.js"></script>
<script type="text/javascript">

// initialise plugins
jQuery(function(){
jQuery('ul.sf-menu').superfish();
});

</script>


>   
> Das eigentlich Menü sieht dann z.B. so aus (nur der Anfang):  
  

> 	<ul class="sf-menu">  
  

> Das meiste ist also eine Warnung in Bezug auf jQuery selbst. Wie sollte ich jetzt weiter vorgehen?  
  
Schmeiss' diese Klasse sf-menu raus, die brauchst du nicht #navigation>ul selektiert deine Navigation genauso eindeutig.  
  
Schmeiss Superfish weg und arbeite - wenn du mit css allein nicht klarkommst - je nach gewünschtem Effekt z.B. mit hover() oder toggle() sowie animate().  
  
Binde ein aktuelles jQuery ein.  
  
Erstelle ein modernes Menü auf Basis von HTML und CSS unter zuhilfenahme der :hover-Pseudoklasse.  
  
Manipuliere das Menü dann mittels JavaScript/jQuery um anstatt des harten ein/ausklappens mittels :hover lieber entsprechende Effekte zu verwenden.  
  
Das hier sollte für ein einfaches Menü bereits völlig ausreichen und ist entsprechend ausbaufähig - natürlich nicht getestet :)  
~~~javascript
jQuery(#navigation>ul li).hover(  
  function() {  
    jQuery('ul', this).show();  
  },  
  function() {  
    jQuery('ul', this).hide();  
  },  
);

Falls es eine Rolle spielt noch die Info, dass ich unter OSX 10.6 mit Firefox 3.5.10 und Safari 5 entwickle.

Sollte eigentlich keine Probleme bereiten.