Felipe Oliveira da Silva
Dicas de programação e portfólio
  • Javascript
  • MySQL
  • Outros
  • PHP
  • Trabalhos
    • Estrutura (CSS)
    • Hotsites
    • Sistemas
    • Websites
  • Web
Javascript

Lightbox 2

Olá, vamos aprender hoje como utilizar o famoso script lightbox para ampliar as imagens.

Para quem não sabe o que é lightbox:
É um script que sobrepõe imagens á página corrente e não dentro da página. Isto faz com que as imagens não sejam limitadas por um layout. Exemplo é uma imagem que sai fora do layout por ter uma largura maior. A vantagem é que não precisar ser aberta em outra página ou popup ela é ampliada ali mesmo, com um clique para ampliar e um clique para “desampliar”.

Para visualizar o exemplo, clique aqui.
Para fazer o download do arquivo, clique aqui.

1º Passo – Instalação

1. Incluir três arquivos Javascript no cabeçalho de sua página:
<script type="text/javascript" src="js/prototype.js"></script>
<script type="text/javascript" src="js/scriptaculous.js?load=effects,builder"></script>
<script type="text/javascript" src="js/lightbox.js"></script>

2. Incluir o CSS no cabeçalho de sua página:
<link rel="stylesheet" href="css/lightbox.css" type="text/css" media="screen" />

3. Verifique se as imagens do CSS estão com os caminhos corretos.

2º Passo – Ativação

1. Para ampliar uma imagem basta adicionar um rel = "lightbox" na tag do link que irá ampliar a imagem. Exemplo:
<a href="images/image-1.jpg" rel="lightbox" title="Legenda da imagem">ampliar</a>

2. Usar a tag “title” no link é opcional, ela serve como legenda da imagem.

3. Se você pretende agrupar algumas imagens como se fossem galerias basta adicionar rel="lightbox[nome_do_grupo]” na tag do link que irá ampliar cada imagem. Exemplo:
<a href="images/image-1.jpg" rel="lightbox[galeria]" title="Legenda 1">ampliar 1</a>
<a href="images/image-2.jpg" rel="lightbox[galeria]" title="Legenda 2">ampliar 2</a>
<a href="images/image-3.jpg" rel="lightbox[galeria]" title="Legenda 3">ampliar 3</a>

Esse exemplo é muito útil quando precisamos montar uma galeria com navegação “próxima” e “anterior”. Assim conseguimos ir navegando de imagem em imagem sem precisar fechar o lightbox.
 

4. Se pretende colocar uma imagem de loading, têm de especificar a sua localização no topo do script lightbox.js.
Esse tutorial é apenas uma tradução resumida do próprio site do criador do lightbox.

 

Postado em 04 de fevereiro de 2009 às 13:04

30 Comentários »

30 Comentários em “Lightbox 2”

  1. Rafael Jaques diz:
    05 de fevereiro de 2009 às 09:36

    Heheh…:)

    Bom artigo!

    Abraço!

  2. Rafael Roberto do Nascimento diz:
    23 de junho de 2009 às 11:19

    Felipe, você já usou alguma vez o lightbox na página principal do site, por exemplo para substituir um banner e chamar mais atenção? Se sim, poderia compartilhar o código de como chamar na carga do site uma imagem com lightbox?

    obrigado
    Rafael

  3. Felipe Oliveira diz:
    25 de junho de 2009 às 10:28

    Rafael Roberto,
    Mas daria pra você fazer isso mais simples só com CSS, vcoê coloca um div alinhado em cima de TUDO e nesse div tem o banner.
    Para fechar é só você fazer um js que dê display: none.

    abs,
    Felipe

  4. Daniela diz:
    27 de junho de 2009 às 10:59

    Oi Felipe, fiquei com uma dúvida no passo 3 da "Ativação": eu coloco o nome do grupo em rel="lightbox" mas eu tenho que colocar esse "nome do grupo" em outro lugar antes, no CSS por exemplo?
    Obrigada!

  5. Felipe Oliveira diz:
    27 de junho de 2009 às 14:46

    Daniela,
    Não precisa ter ter o nome do grupo no CSS.

    abs,
    Felipe

  6. Daniele mulato diz:
    22 de julho de 2009 às 21:29

    olá, gostei muito deste tutorial, mas me surgiu uma duvida, teria como aumentar o tamanho da imagem ? Para que esta abra em tamanho maior …?

  7. Miguel diz:
    29 de julho de 2009 às 12:20

    Oi. Estou fazendo um site para um amigo e tenho procurado por um script de onde ao clicar na imagem, pudesse aparecer a imagem ampliada ao lado, em baixo ou outro local que quisessemos. Já encontrei um em que ao passar por cima ela amplia no mesmo local. O vosso é o que se aproxima mais do que desejo. Conhece algum script para o que pretendo.
    Obrigado.

  8. Marco Antonio diz:
    14 de agosto de 2009 às 16:44

    Olá, eu usei exatamente este codigo em um site, para imagens, e na mesma pagina que estão as imagens eu gostaria de fazer um link assim como os da imagens só que para abrir um formulario de contato no lightbox, e não estou conseguindo, ja tentei diversas maneiras, ainda sou inciante nesse tipo de programação, talvez por isso não esteja conseguindo, por favor vc poderia me ajudar?

  9. Juscelino diz:
    24 de outubro de 2009 às 19:55

    Minha página é de frames. Inserí o light box numa página linkada. Ela aparece no frame principal(MainFRame)e o link que a chama está no TopFrame. Quando se clica nas imagens elas abrem apenas no Main Frame.Não tem um jeito delas abrirem full? Na tela toda sem ser dentro do frame?

  10. Felipe Oliveira diz:
    25 de outubro de 2009 às 22:31

    Juscelino,

    Não rola pq o lightbox é executado dentro do iframe.
    O único jeito seria não usando iframe..

    abs,
    Felipe

  11. Ivan diz:
    27 de novembro de 2009 às 21:48

    Olá amigo, fiz um blog hospedado no blogspot com o lightbox e ficou perfeito até eu colocar um dominio proprio e o lightbox parar de funcionar, será que pode me ajudar?

  12. Felipe diz:
    30 de novembro de 2009 às 10:04

    Ivan,

    Pode me passar o link para eu dar uma olhada?
    Provavelmente deve estar com o caminho errado, pq isso é JavaScript, funciona em qualquer lugar.

    abs,
    Felipe

  13. Luiz Antonio Giachini diz:
    12 de dezembro de 2009 às 14:29

    Muito bom esse artigo, continue assim.

  14. Paulo Martins diz:
    28 de dezembro de 2009 às 22:16

    Olá Felipe!

    Eu posso chamar a função que gera o lightbox direto do javascript ou eu necessariamente preciso chamá-la no formato de parâmetro da tag html?

    Grato desde já!

    Abraço!

  15. Felipe diz:
    05 de janeiro de 2010 às 16:23

    Paulo,

    Eu sempre utilizo chamando via tag HTML.

    Abs,
    Felipe

  16. Venâncio Monteiro Façanha diz:
    20 de fevereiro de 2010 às 16:30

    Oi Felipe.

    Essa do Lightbox foi realmente o que eu estava procurando. Valeu mesmo.

    Porém, me sobreveio uma dúvida. Se eu quiser separar as imagens da galleria em uma pasta dierente da images onde ficam prevlabel.gif, nextlabel.gif, loading.gif e closelabel.gif tem como ou cada galeria que eu fizer vai trabalhar com uma pasta images própria e única para todas as imagens de sua galeria.

    Parabéns pelo trabalho, muito obrigado e um grande abraço.

  17. Felipe diz:
    02 de março de 2010 às 09:42

    Venâncio,

    As imagesn você pode colocar no diretório que quiser, basta mudar o caminho.

    Exemplo:
    ampliar 1

  18. Neto diz:
    03 de março de 2010 às 10:31

    Parabéns pelas dicas! Bem estou precisando de um efeito que vi no link: http://notebook.pontofrio.com.br/Notebook-CCE-ILP-432-c-Intel-Dual-Core-T4200-4GB-320GB-LCD-141-HDMI-Wireless-e-Linux-30870.html?Filtro=C56, onde a partir de uma imagem abra-se uma janela com as outras imagens, como nesse link! tem como vocês me ajudar? É este script que você está mostrando só que o inverso, de uma para várias, como no link acima. Obrigado.

  19. André diz:
    22 de abril de 2010 às 13:22

    Olá, primeiramente parabens pelo post…
    Estou com um pequeno problema…fiz o layout da página em abas com Jquery e tentei colocar as imagens com o efeito lightbox no conteudo das abas, mas o efeito não funciona…se faço coloco as fotos fora das abas funciona, oque mostra que instalei o lightbox corretamente. Sabe me dizer oque esta acontecendo e como poderia resolver isto?

    Obrigado.

  20. Felipe diz:
    22 de abril de 2010 às 13:33

    André,

    Pode me passar o link para eu dar uma olhada?
    Abs,
    Felipe Oliveira

  21. Artur diz:
    24 de abril de 2010 às 16:43

    Olá
    Instalei no meu site e funcionou tudo legal. Entretanto, ocorre o seguinte, a página é grande e as imagens ficam no meio dela e nem sempre as pessoas percebem que abriu a janela com a imagem ampliada.
    Voce saberia me informar como faço para manter a abertura das janelas sempre no incio da pagina?
    Desde ja te agradeço
    Artur

  22. Felipe diz:
    25 de abril de 2010 às 13:13

    Artur,

    O lightbox é feito para abrir sempre no meio da página independente de onde para a rolagem, ou seja, quando o cara clica na foto para ampliar ela vai abrir no centro da página. Isso facilita o usuário visualizar a abertura da foto.
    Se ela abrisse no início da página seria ruim pq o link na foto poderia estar no rodapé e isso sim faria com que ele não visse a foto ampliada.

    Abs,
    Felipe

  23. kézia diz:
    06 de junho de 2010 às 13:46

    Como faço para aumentar o div? quero além da imagem mostrar informações do produto…atraves do codigo q passei no link eu consigo fazer isso?

    obrigada

  24. Felipe diz:
    07 de junho de 2010 às 07:56

    Kézia,

    Para aumentar o div é necessário apenas mudar o CSS.

    Abs,
    Felipe

  25. Flávio Elias diz:
    21 de setembro de 2010 às 22:54

    Felipe, valeu pela dica mais quando tento visualizar no IE ele não funciona. tem algum cod extra?

  26. Gilvanio diz:
    25 de março de 2011 às 14:19

    Amigo Gostei muito de sua explicação, do efeito lightbox, mas gostaria de umas informações.

    onde mudo para que a foto que vai ser ampliada esteja maior na pagina.

    outra pergunta como tiro o qudro lilás ao torno dela, se for no css em qual linha?

  27. Rodrigo diz:
    29 de março de 2011 às 13:10

    Olá Felipe…

    Gostei muito do exemplo, só que tem um problema.
    No site que estou montando tem um menu em JQuery, o LightBox só funciona se eu tiro o efeito do menu, o arquivo que chama o jquery.js.
    O que devo fazer para funcionar os dois?

  28. Ademir diz:
    25 de agosto de 2011 às 17:19

    ola, gostaria de fazer esse efeito em um banner de promoção, logo q o cliente entrasse a página inicial, puxasse o banner ( Lightbox )..tem como fazer isso???

    o site é em PHP.

  29. FLed diz:
    28 de novembro de 2011 às 15:36

    Felipe, estou com um probleminha, ela funcionou perfeitamente porem ela entra em conflito com um outro script. que uso no Menu. Você poderia me dar uma ajuda?

    o Script é esse:

    Se eu tiro o script ele funciona porem o menu para.

  30. Duda diz:
    08 de janeiro de 2012 às 15:59

    bom, em primeiro lugar quero ressaltar que sou uma eterna aprendiz…

    E estou com um problema em LightBox, pois configurei o mesmo no meu site e na página principal tem uma dentro desta tenho detalhes dos produtos como nome, preço e também dois links de produtos um é para abrir a imagem do mesmo em lightbox e outro é para um link para o carrinho de compras, no primeiro eu quero que tenha este lightBox e no segundo eu não quero pois é um link de “continuar comprando” do carrinho de compras, o problema é que os dois estão ficando em lightbox.
    Não sei se deve ser feita alteração se é em CSS e como fazê-la, ou também não sei se devo alterar o javascript das funções do lightBox para desabilitá-lo no segundo link.
    Então venho aqui pedir socorro aos universitários…

    Na minha index tem as funções do lightBox:

    $(function() {
    $(‘#lista a’).lightBox();
    });
    $(function() {
    $(‘#lista-heart a’).lightBox();
    });
    $(function() {
    $(‘#local a’).lightBox();
    });

    e na listagem do produto tenho:



    “.$prod["nomeProd"].”
    R$ “.$prod["preco"].”
    Adicionar ao Carrinho

    Você pode me ajudar?
    deusadru@gmail.com

    Agradeço desde já

Comentar

Busca

  • Popular
  • Comentados
  • Últimos

  • Galeria de fotos com jquery - Demo 1
  • Criando tabelas no MySQL
  • Envio de e-mail com PHPMailer
  • Recebendo dados de formulário
  • Conectando ao Banco de Dados MySQL com PHP
  • Operadores (aritmético, comparação, lógico, atribuição)
  • Lightbox 2
  • Trabalhando com data no PHP
  • Redimensionando imagens em PHP
  • Programação Orientada a Objetos em PHP
  • Galeria de fotos com jquery – Demo 1 (84)
  • Envio de e-mail com PHPMailer (32)
  • Lightbox 2 (30)
  • Redimensionando imagens em PHP (19)
  • Criando abas com Javascript (16)
  • Conectando ao Banco de Dados MySQL com PHP (16)
  • Estruturas de repetição em PHP (while, do while, for e foreach) (9)
  • Criando tabelas no MySQL (9)
  • Até o "concorrente" usa GMAIL (9)
  • Recebendo dados de formulário (6)
  • Conectando ao Banco de Dados MySQL com PHP
  • Programação Orientada a Objetos em PHP
  • GOL Indica
  • Manga comunicação e marketing
  • Firefox 4.0 deve ser lançado em 2010
  • Google Street View se preocupa com a privacidade das pessoas
  • Atrações Educativas – Educar para crescer
  • Realidade aumentada
  • Projetos Residentes Roc
  • Office 2010 com nova proteção antipirataria

Categorias

  • Estrutura (CSS)
  • Hotsites
  • Javascript
  • MySQL
  • Outros
  • PHP
  • Sistemas
  • Web
  • Websites

Arquivos

  • dezembro 2009
  • outubro 2009
  • setembro 2009
  • agosto 2009
  • julho 2009
  • junho 2009
  • maio 2009
  • abril 2009
  • março 2009
  • fevereiro 2009
  • janeiro 2009
  • dezembro 2008
  • novembro 2008

Tags

abas array banco de dados Bing.com chrome classes Condicionais conexão construtor Cookie CSS domínio expressão FAQ firefox formulário função Funções Galeria de fotos gmail google google chrome google maps Hotmail IE IE7 IE8 IE9 Internet internet explorer Javascript jquery kingston Layout Microsoft MySQL métodos objetos PHP Portfólio SEO sistema tecnologia twitter Web

Lista de links

  • Eduardo Willian
  • Fred Carbonare
  • Jhonatan
  • Rafael Jaques

© Felipe Oliveira da Silva
Wordpress Theme designed by DT Website Templates