Criando uma lupa para ampliar imagens com JQuery e jqZoom

Por Giuliano Rodrigues de Souza em 15 de maio de 2009

javascript image magnifier for JQuery

JQZoom é uma lupa para ampliar imagens inline construído numa biblioteca muito popular - o jQuery. É um script muito bom e fácil de implementar, para que se possa ampliar tudo o que quisermos.

Características Principais:

  • Simples - Fácil de usar.
  • Compatibilidade - Com outros scripts e plataformas.
  • Fléxivel - Máximo controle sobre as opções disponíveis.
  • Estilo - Fácil de personalizar.
  • Bonito - Agradável de se ver.
  • Trabalha com todos os browsers.

Instalação:

Para proceder à instalação deste script, é necessário fazer o download de todos os arquivos e diretórios do pack jQzoom para o seu servidor. O pack actual inclui o JS, CSS e diretórios de IMAGENS.

Nota: Se você decidir renomear os diretórios ou alterar a estrutura do diretório, revise o caminhos das imagens dentro do CSS e lembre-se de especificar os caminhos corretos dos arquivos na página que os vai chamar.

Adicione primeiro o último release da biblioteca jQuery, depois o script jQZoom (não se esqueça disto), a ordem correta destes passos é importante. Olhe para o código de instalação abaixo.

<script src="js/jquery-1.2.6.js" type="text/javascript"><!--mce:0--></script>
<script src="js/jquery.jqzoom-1.0.1.js" type="text/javascript"><!--mce:1--></script>

Adicione depois o arquivo jqzoom.css ao seu cabeçalho.

Como Usar:

Para usar o jQZoom é muito simples.

É necessário especificar o elemento âncora HTML que irá gerar a ampliação, revelando a porção da imagem aumentada.

<a class="MYCLASS" title="MYTITLE" href="images/BIGIMAGE.JPG">
<img title="IMAGE TITLE" src="images/SMALLIMAGE.JPG" alt="" /></a>

O elemento âncora molda a pequena imagem que pretende ampliar.
Seguindo este esquema, os elementos base necessários são:

  • SMALLIMAGE.JPG: Representa a pequena imagem que você pretende ampliar.
  • BIGIMAGE.JPG: Representa a imagem grande que jQZoom irá revelar.
  • MYCLASS: Representa a classe âncora, que irá ser usada para instanciar o script jQZoom a todos os elementos, correspondendo a esta classe (você pode usar também um ID).
  • MYTITLE/IMAGE TITLE: Título da âncora e/ou título da imagem que irá ser usada para revelar o título do zoom perto da janela jQZoom.

Agora chame o plugin junto à janela de carregamento.

$(document).ready(function(){
	$('.MYCLASS').jqzoom();
});

Isto irá instanciar o jQZoom no modo default.

Você pode passar mais opcções (veja aqui a documentação), para criar outros efeitos especiais personalizados.

$(document).ready(function(){
	var options = {
	    zoomWidth: 300,
	    zoomHeight: 250,
            xOffset: 10,
            yOffset: 0,
            position: "right" //and MORE OPTIONS
};
	$('.MYCLASS).jqzoom(options);
});

Para mais informações visite o website do desenvolvedor web Marco Renzi.
Se for utilizar a aplicação, faça uma doação para o projeto. Desta forma obterá o suporte extra para o plugin e contribuirá para o crescimento do mesmo.

Requisitos: Plataforma jQuery
Demonstração: http://www.mind-projects.it/projects/jqzoom/
Download: jqzoom_ev1.0.1

Exemplo customizado - http://www.giuliano.eti.br/lab/jqzoom/demo/

Categorias : Ajax, javascript

Comentários
1 de junho de 2009

ótimo post, vou fazer em meu proximo projeto.

Posted por nelio
2 de junho de 2009

Grato pelo comentário Nélio. caso necessite de suporte para implantação, estarei a disposição.

Posted por Giuliano Rodrigues de Souza
9 de agosto de 2009

Sr. Giuliano:
Sou iniciante em html. Estou criando minha pág. web e estou com dificuldade para ampliar imagens(mesmo visitando este tutorial não estou conseguindo). Já tenho o jQuery, jQzoom e Css(preciso de mais alguma coisa??). O Sr. poderia me enviar, por gentileza, um modelo usando as diretrizes de html(onde colocar cada ítem…) ou terei q mudar tudo para o css?? Por favor, tire estas minhas dúvidas porque ñão tenho a quem perguntar!
Desde de já agradeço.
Felicidades!
Clebia

Posted por clebia
21 de outubro de 2009

Só corrigi ae:
$(’.MYCLASS).jqzoom(options);
pra
$(’.MYCLASS’).jqzoom(options);

;D

Posted por Morris Ruschel
30 de março de 2010

Gostei do JQZoom, mas dá uma dica de que como faço pra trocar as imagens; Exemplo: tenho 1 sapato com 4 fotos em posições diferentes e gostaria de ampliar todas para o internauta ver todas no zoom?

Posted por Walfrido Cesar
25 de agosto de 2010

não consigo aumentar o tamanho da janelinha nem o tamanho do quadradinho da mira…help

Posted por gustavo
27 de dezembro de 2010

Gustavo - O tamanho do quadradinho da mira muda de acordo com o tamanho da imagem GRANDE que vc adicionar. Faça testes com diferentes tamanho da imagem.
Sobre o tamanho da janela: dentro de var options ={AQUI DENTRO}; Acrescente as linhas: zoomWidth: 000,
zoomHeight: 000,
Onde 000 corresponde ao tamanho em pixels que deseja. Lembrando que zoomWidth significa largura e zoomHeight significa altura.

Posted por Chaos
Deixe um comentário

(obrigatório)

(obrigatório)