2009-03-18 11 views

risposta

21

si potrebbe usare hover, la prima funzione agirà su un "passa il mouse sopra" e la seconda agirà su un "hover out"

La documentazione si trova qui: http://docs.jquery.com/Events/hover

$("#home").hover(function(){ 
    $("#homeText").fadeIn("slow"); 
}, 
function(){ 
    $("#homeText").fadeOut(); 
}); 
+0

Ottimo consiglio! Ho costruito sulla soluzione e modificato per funzionare su un numero arbitrario di elementi senza codice ridondante:. $ ('topmenu ') librarsi (function() \t \t \t { \t \t \t $ (' # _' + questo .ID) .fadeIn ("slow"); \t \t \t}, \t \t \t funzione() \t \t \t \t { \t \t \t $ ('# _' + this.id) .fadeOut(); \t \t \t \t \t \t}); \t}); –

2

Jon , Ottimo consiglio! Ho usato come punto fisso per una soluzione più completa. Facendo questo con l'hover di base mi lascerebbe comunque una chiamata al passaggio del mouse per la singola voce di menu. Un sacco di codice ridondante. Quindi, utilizzando quello che hai suggerito, mi si avvicinò con questo:

$('.topMenu').hover(function() 
     { 
     $('#_'+this.id).fadeIn("slow"); 
     }, 
     function() 
      { 
     $('#_'+this.id).fadeOut();  
      }); 
}); 

Tutte le voci di menu sono dati la classe topmenu e ID. Il div corrispondente per visualizzare è lo stesso id della voce di menu, solo prefisso con _ Esempio: ....

Roba su di noi!

...

Grazie!

+0

definire, personalizzare per le proprie esigenze. felice di aver aiutato =) –

6

Come circa 3 linee?

<script> 

    $(function() { 

     $('#home').hover(function() { 
      $('#homeText').fadeToggle("slow"); 
     }); 

    }); 


    </script> 

Abbastanza elegante?

2
$(function() { 
    $('#home').hover(function() { 
     $('#homeText').fadeIn("slow"); 
    }); 
    $('#home').mouseout(function() { 
     $('#homeText').fadeOut("slow"); 
    }); 
}); 
Problemi correlati