Assinar Kinghost
Testar G Suite

Pesquisar:

Custom Search

quinta-feira, 15 de dezembro de 2016

Melhore seus botões com o efeito Fade - jQuery + CSS



Botões com Efeito com jQuery

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.

O Javascript:

O primeiro passo é importar o jQuery normalmente.

Código:
<script type="text/javascript" src="jquery.js"></script>

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">
$(document).ready(function() {
    $('.efeito_fade').append('').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:
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 demais:

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>

Para ver em funcionamento, Clique Aqui...

Para Baixar (Download) dos Arquivos, Clique Aqui...


Nenhum comentário :

Postar um comentário

Comentário, Pedido, Sugestão...