Le code suivant affiche un sous-menu lorsque vous passez la souris sur un élément de menu. Puisque vous utilisez une minuterie, si vous ne sélectionnez pas assez rapidement l'élément du sous-menu, les éléments du sous-menu disparaissent. Je préfère l'afficher en surbrillance et conserver les éléments du sous-menu jusqu'à ce que vous survoliez ou cliquez sur un autre élément du menu principal:jQuery Hover Menu
$ (document) .ready (function() { Nifty ("# menu à », "petit haut transparent"); Nifty ("# outcontent", "fond milieu transparent");
function hideSubMenu() {
$("#sub-menu-content").fadeOut('slow');
hideSubMenu.timeout = 0;
}
$('#menu a').hover(function() { //start function when any link is clicked
if (hideSubMenu.timeout) clearTimeout(hideSubMenu.timeout);
hideSubMenu.timeout = 0;
$("#sub-menu-content").hide();
var html = '<ul>' + $(this).next('ul.sub-menu').html() + '</ul> ';
$("#sub-menu-content").html(html); //show the html inside .content div
$("#sub-menu-content").fadeIn('fast'); //animation
},function(){
hideSubMenu.timeout = setTimeout(hideSubMenu, 800);
}); //close click(
$('#sub-menu-content').hover(function() {
if (hideSubMenu.timeout) clearTimeout(hideSubMenu.timeout);
hideSubMenu.timeout = 0;
},function(){
hideSubMenu.timeout = setTimeout(hideSubMenu, 800);
}); //close click(
}); //close $(
Pour le voir en action:
http://cruisecontrolledmarketing.com/test/welcome/login utilisateur: Mot de passe membre: rebmem
Merci!
Je vais vérifier. Je n'ai jamais vu ça avant. –
Je le recommande. Nous l'utilisons en production sur des sites tout le temps. Nice et facile à configurer, et devrait faire exactement ce que vous en avez besoin. – ajm
J'essaie de le faire fonctionner. Est-ce que je remplacerais juste les événements de vol stationnaire? ie $ ('# menu a'). hover (function() {deviendrait $ ("# menu a"). hoverIntent (config, function()) { J'ai également trouvé jquery.event.hover-1.0. js - c'est censé être "meilleur" que hoverIntent Je vérifie les deux –