Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá
Minha duvida é a seguinte, tenho varias div com a classe oferta. No evento hover, quero fazer tal efeito em todas as divs .oferta menos na que esta ocorrendo o .hover() (this).
Alguma dica ?
>
Explica um pouco melhor isso aí...
Pegar todos os outros elementos, menos o corrente.
@Tuk, basta utilizar o '.siblings' , estudei esse 'seletor', não dessa forma , mas quando estava estudando XPath .. então, essa função pega todos os elementos 'irmãos' ou seja, se você tem um conjunto de divs, vai fazer exatamente o que você precisa, pegar todas divs, não a corrente.
Segue a solução
<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery.js"></script>
<script type="text/javascript">
$ ( document ).ready ( function ( ) {
$ ( '.oferta' ).on ( 'hover' , function ( ) {
console.group ( 'Corrente' )
console.log ( $ ( this ) ) ;
console.groupEnd ( ) ;
console.group ( 'Resto' ) ;
console.log ( $ ( this ).siblings ( '.oferta' ) ) ;
console.groupEnd ( ) ;
} ) ;
} ) ;
</script>
</head>
<body>
<div class="oferta">1</div>
<div class="oferta">2</div>
<div class="oferta">3</div>
<div class="oferta">4</div>
<div class="oferta">5</div>
</body>
</html>
No console
/applications/core/interface/imageproxy/imageproxy.php?img=http://img717.imageshack.us/img717/769/805b867cd6004514949eca3.png&key=32133f8e91410e0122d48eea791424812cd8dc585084f0d9d4fdab9e1e2064ed" alt="805b867cd6004514949eca3.png" />
var $ofertas = $('div.oferta');
$ofertas.on('hover', function(){
var $this = $(this),
$notCurrent = $ofertas.not($this); //poderia ser apenas this (o elemento em si)
});
Dê uma olhada nos metódos not() e is()
Obs: Não use apenas classe em um seletor, sempre que possivel adicione a tag do elemento, ou use ID.
Explica um pouco melhor isso aí...