2012-10-07 1 views
2

J'ai un groupe d'éléments sur une page - lorsque l'on survole un plan, ses frères et sœurs voient leur opacité modifiée de sorte qu'ils paraissent grisés. Lorsque le curseur est déplacé vers un autre élément du groupe, les frères et sœurs reviennent d'abord à 100% d'opacité avant de redevenir de nouveau grisés. Comment empêcher la désactivation de l'atténuation pour les éléments déjà grisés (sauf, bien sûr, pour celui qui est survolé)?Effet de survol sur un groupe d'éléments - empêchant le scintillement lors du déplacement vers des éléments frères

Mon code jQuery est ci-dessous, et je l'ai mis en place une démo de jsFiddle ici: http://jsfiddle.net/clorentzen/wmhMR/2/

Merci!

$(document).ready(function() { 
    $('.module').hover(function() { 
     $(this).siblings('div').fadeTo(250, .5); 
    }, function() { 
     $(this).siblings('div').fadeTo(250, 1.0); 
    }); 
}); 

Répondre

0

http://jsfiddle.net/wmhMR/6/

Essayez ceci:

$(document).ready(function() 
{ 
    $('.module').mouseenter(function() 
    { 
    $(this).css({'opacity':'0.5'}); 
    }) 
    $('.module').mouseleave(function() 
    { 
    $(this).css({'opacity':'1'}); 
    }) 
}); 
0

Je sais que ce poste est vieux, mais comme il n'y a pas de réponse acceptée, voici une solution rapide. Ajoutez simplement stop() avant le fadeTo().

$(document).ready(function() { 
    $('.module').hover(function() { 
     $(this).siblings('div').stop().fadeTo(250, .5); 
    }, function() { 
     $(this).siblings('div').stop().fadeTo(250, 1.0); 
    }); 
}); 
Questions connexes