Efeito hover com jQuery

5 participantes

xeroso xeroso  • 18.06.12 20:52

Efeito hover com jQuery Empty Efeito hover com jQuery 18.06.12 20:52

Como funciona

A mecânica é simples: a função jQuery identifica o elemento onde deve ser aplicado o efeito e insere dentro dela uma tag <span>, que é quem realmente receberá o Fade. Tudo o que você precisa saber e fazer é colocar um pequeno trecho javascript na sua página, ajustar seu CSS e adicionar uma classe ao botão que receberá o efeito.
É exatamente o mesmo efeito que está aplicado aos botões de Download e Demo no início do post. Você também pode acessar a demonstração e baixar os arquivos para visualizar melhor o código.


O Javascript
O primeiro passo é importar o jQuery normalmente. Depois é só inserir a função abaixo. Perceba que logo no início do código, na segunda linha, você deve colocar a classe dos botões que receberão o efeito (nesse caso: efeito_fade). Todos os elementos com essa classe serão animados.
Código:
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('.efeito_fade').append('<span class="hover"></span>').each(function () {
var $span = $('> span.hover', this).css('opacity', 0);
$(this).hover(function () {
$span.stop().fadeTo(500, 1);
}, function () {
$span.stop().fadeTo(500, 0);
});
});
});
</script>
O CSS
No CSS, a primeira coisa a fazer é criar um botão comum, com a técnica clássica de image replacement para diferenciar o estado normal (“apagado”) do estado :hover (“aceso”). Ou seja, criar uma imagem que contenha os dois estados do botão e então estilizá-lo usando a propriedade background-position para fazer a troca de um estado para o outro quando o usuário passa o mouse sobre ele.
A única diferença é que ao invés de estilizar o estado :hover em si, você irá estilizar a tag <span> que será criada dentro do botão como se fosse o :hover, com algumas pequenas mudanças:
A primeira é posicionar o botão relativamente (position:relative), para que o <span> fique corretamente colocado dentro dele. A segunda é posicionar o <span> absolutamente (position:absolute) e repetir as mesmas propriedades do botão, ajustando apenas o background. Eu sei, parece complicado, mas veja como o código não tem nada dema
is:

Código:
/* botao 1 */

#seu_botao {

    clear: both;
    position:relative;
    display:block;
    height: 64px;
    width: 570px;

background:url(images/botao.png) no-repeat;

background-position:0 0;

cursor: pointer;
}

#seu_botao span.hover {

      position: absolute;
      display: block;
      height: 64px;
      width: 570px;
      background: url(images/botao.png) no-repeat;
    background-position: bottom;

}
/* botao 2 */

#outro_botao {

      clear: both;
      position:relative;
      display:block;
      height: 64px;
      width: 570px;
    background:url(images/outro.png) no-repeat;
    background-position:0 0;
    cursor: pointer;
}

#outro_botao span.hover {

      position: absolute;
      display: block;
      height: 64px;
      width: 570px;
      background: url(images/outro.png) no-repeat;
      background-position: bottom;
}
O HTML

Como eu disse, a única coisa que você precisa fazer no seu HTML é atribuir a classe indicada na função javascript em todos os elementos que receberão o fade. Nesse caso a classe é a “efeito_fade”. Veja o código dos dois botões desse exemplo:

Código:
<a href="#" id="seu_botao" class="efeito_fade"></a>
<br />
<a href="#" id="outro_botao" class="efeito_fade"></a>

Após ter feito isso, você já terá o efeito hover com JQuery aplicado com sucesso !!!

Créditos: Eu mesmo.

Next Next  • 18.06.12 21:00

Efeito hover com jQuery Empty Re: Efeito hover com jQuery 18.06.12 21:00

Vlw :D
Tava precisando Obgd !

TrY! TrY!  • 18.06.12 21:16

Efeito hover com jQuery Empty Re: Efeito hover com jQuery 18.06.12 21:16

Caro user.

O efeito mais bonito é aquele que ao passar o mouse, se aumenta as margens, ou seja, como se fosse que o elemento pulasse.

Richard Richard  • 19.06.12 10:13

Efeito hover com jQuery Empty Re: Efeito hover com jQuery 19.06.12 10:13

Gostei,
Irei por no meu hotel se tiver como né.
Obrigado por Compartilhar.

[J]υиιoя [J]υиιoя  • 19.06.12 14:00

Efeito hover com jQuery Empty Re: Efeito hover com jQuery 19.06.12 14:00

Parabéns pelo tutorial, estárei utilizando!
Obrigado por compartilhar.
Permissões neste sub-fórum
Não podes responder a tópicos

BH Servers

Recomendamos a BH Servers com proteção DDOS gratuita em Cloud Server de alta performance. Entrega imediata.