Claro que estes exercícios são um pouco especiais, dado que servem para ilustrar o modo de trabalho com jQuery, porém sem explicar todos os detalhes relacionados com o uso do framework. Por enquanto que queremos é mostrar uma introdução ao sistema e mostrar por alto algumas de suas possibilidades. No futuro publicaremos artigos que irão pouco a pouco explicando todos os detalhes de trabalho com jQuery.
No caso que nos ocupa, queremos demonstrar o uso de jQuery para alterar elementos de uma página web, adicionando e tirando classes CSS. Isto é bem simples, porque em jQuery os elementos têm duas classes chamadas addClass() e removeClass(), que servem justamente para que o elemento que recebe o método se aplique uma classe CSS ou se elimine. Por isso o que vamos aprender, com respeito ao artigo anterior -Passos para utilizar jQuery-, é utilizar esses novos métodos dos elementos.
Para complicá-lo só um pouco mais, vamos adicionar e tirar classes do elemento com resposta a ações do usuário, para aprender também novos eventos de usuário.
Em nosso exemplo vamos ter dois elementos. Primeiro, uma camada DIV com um texto. Depois teremos um link que estará fora da camada capa DIV. Ao situar o usuário o mouse sobre um link adicionaremos uma classe CSS à camada DIV e ao retirar o mouse do link eliminaremos a classe CSS que havíamos adicionado antes. Se desejar, para esclarecer o exemplo, podemos ver o exercício em funcionamento em uma página à parte.
Ademais, agora também vamos incluir o script de jQuery, que necessitaremos para acessar às funções do framework Javascript.
<html>
<head>
<title>Adicionar e tirar classes CSS a elementos</title>
<script src="jquery-1.3.2.min.js" type="text/javascript"></script>
<style type="text/css">
.clasecss{
background-color: #ff8800;
font-weight: bold;
}
</style>
</head>
<body>
<div id="camada">
Esta camada é independente e vou adicionar e eliminar classes css sobre ela
</div>
<br>
<br>
<a href="http://www.criarweb.com">Adicionar e tirar classe na camada de cima</a>
</body>
</html>
Perfeito, agora já temos a infra-estrutura necessária para nosso exemplo, com todos os integrantes do mesmo. Só nos faltaria fazer o seguinte passo, que é adicionar os comportamentos dinâmicos com jQuery.
Para isto temos que incluir sempre o código:
$(document).ready(function(){
//aqui colocaremos as instruções que modifiquem o DOM
});
Por exemplo, para definir um evento mouseover se tem que chamar ao método mouseover() sobre o elemento que queremos associar o evento. Ademais, ao método mouseover() se envia por parâmetro uma função com o código que se quer executar como resposta a esse evento.
No caso de adicionar uma classe temos que utilizar o método addClass(), que se tem que invocar sobre o elemento ao que queremos adicionar a classe. A addClass() temos que passar uma cadeia com o nome da classe CSS que queremos adicionar.
Para selecionar o elemento que queremos adicionar a classe fazemos $("#idElemento"), ou seja, utilizamos a função dólar passando o identificador do elemento que queremos selecionar, precedida do caractere "#". Por exemplo, com $("#capa") estamos selecionando um elemento da página cujo id="camada".
$("a").mouseover(function(event){
$("#camada").addClass("classecss");
});
De maneira análoga, porém com o método mouseout(), definimos o evento para quando o usuário tira o mouse do link.
$("a").mouseout(function(event){
$("#capa").removeClass("classecss");
});
<html>
<head>
<title>Adionar e tirar classes CSS a elementos</title>
<script src="jquery-1.3.2.min.js" type="text/javascript"></script>
<style type="text/css">
.clasecss{
background-color: #ff8800;
font-weight: bold;
}
</style>
<script>
$(document).ready(function(){
$("a").mouseover(function(event){
$("#camada").addClass("classecss");
});
$("a").mouseout(function(event){
$("#camada").removeClass("classecss");
});
});
</script>
</head>
<body>
<div id="camada">
Esta camada é independente e vou adicionar e eliminar classes css sobre ela
</div>
<br>
<br>
<a href="http://www.criarweb.com">Adicionar e tirar classe na camada de cima</a>
</body>
</html>
Podemos ver o exemplo desenvolvido no artigo em uma página à parte.
![]() | Correção código jquery Por: neto-lopes | 09/5/10 |