•  
     

Suspender - jQuery

E se você quisesse criar um efeito quando seu mouse está sobre um objeto, mas quisesse que esse efeito sumisse quando você tirasse o mouse de lá? Você pode notar que esse efeito é usado na barra de navegação de muitos sites!

Código: Selecionar todos

$('div').hover(
    function(){
      $(this).addClass('highlight');
   },
   function(){
      $(this).removeClass('highlight');
   }
);


Primeiramente, selecionamos o elemento que queremos modificar $('div')
Em seguida, perceba que nosso efeito hover é capaz de receber duas funções functions(){} separadas por uma vírgula. A vírgula é muito importante!
A primeira function(){} (função) que passamos será executada na primeira vez que colocarmos o mouse sobre nosso alvo selecionado. Aqui aplicamos uma classe highlight (destacar)
A segunda function(){} (função) será chamada quando tirarmos o mouse de cima do objeto. É aí que removemos a classe highlight
Sua segunda function(){} não precisa ser o oposto da primeira function(){}, mas isso é muito comum!


HTML

Código: Selecionar todos

<!DOCTYPE html>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="stylesheet.css">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script type="text/javascript" src="script.js"></script>
</head>
<body>
<div>Home</div>
<div>About Us</div>
<div>Contact</div>   
</body>
</html>


CSS

Código: Selecionar todos

div {
    border-radius: 5px;
    background-color: #ABCDEF;
    transition: background-color 0.5s ease;
    display:inline;
    font-size:25px;
    padding:20px;
    border:1px solid #ccc;
    margin-top:10px;
}

.active {
    background-color:#556677;
}


JavaScript

Código: Selecionar todos

$(document).ready(function(){
$('div').hover(
function(){
$(this).addClass('active');
},
function(){
$(this).removeClass('active');
}
);
});


Demo: http://jsfiddle.net/m6egednm/