Janela com imagem ao passar o mouse
Tipo preview do templatemonster...
Escrito por Lucasbr em
JavaScript e Ajax. Data: 30/09/2006
Licença: Alguns direitos reservados. Dar créditos ao autor e linkar este original
Ver tópico original no fórum.
Como funciona:
Normal
no mouseover
CODE
<head>
<STYLE TYPE="text/css">
<!--
#dek {POSITION:absolute;VISIBILITY:hidden;Z-INDEX:200;}
//-->
</STYLE>
</head>
<body>
<DIV ID="dek"></DIV>
<script TYPE="text/javascript">
<!--
//Pop up information box II
//(Mike McGrath (mike_mcgrath@lineone.net,
//http://website.lineone.net/~mike_mcgrath))
//Permission granted to Dynamicdrive.com to include script in archive
//For this and 100's more DHTML scripts, visit http://dynamicdrive.com
Xoffset=-20; // modify these values to ...
Yoffset= 20; // change the popup position.
var old,skn,iex=(document.all),yyy=-1000;
var ns4=document.layers
var ns6=document.getElementById&&!document.all
var ie4=document.all
if (ns4)
skn=document.dek
else if (ns6)
skn=document.getElementById("dek").style
else if (ie4)
skn=document.all.dek.style
if(ns4)document.captureEvents(Event.MOUSEMOVE);
else{
skn.visibility="visible"
skn.display="none"
}
document.onmousemove=get_mouse;
function popup(msg,bak){
var content="<TABLE WIDTH=150 CELLPADDING=2 CELLSPACING=0 "+
"BGCOLOR="+bak+"><TD ALIGN=center><FONT COLOR=black SIZE=2>"+msg+"</FONT></TD></TABLE>";
yyy=Yoffset;
if(ns4){skn.document.write(content);skn.document.close();skn.visibility="visible"}
if(ns6){document.getElementById("dek").innerHTML=content;skn.display=''}
if(ie4){document.all("dek").innerHTML=content;skn.display=''}
}
function get_mouse(e){
var x=(ns4||ns6)?e.pageX:event.x+document.body.scrollLeft;
skn.left=x+Xoffset;
var y=(ns4||ns6)?e.pageY:event.y+document.body.scrollTop;
skn.top=y+yyy;
}
function kill(){
yyy=-1000;
if(ns4){skn.visibility="hidden";}
else if (ns6||ie4)
skn.display="none"
}
//-->
</SCRIPT>
<a href="http://www.uol.com.br" ONMOUSEOVER="popup('<img src=amostra.jpg>','orange')"; ONMOUSEOUT="kill()"><img src="Amostra.jpg" width="50" height="50"></a>
<a href="http://www.uol.com.br" ONMOUSEOVER="popup('<img src=amostra.jpg>','orange')"; ONMOUSEOUT="kill()"><img src="Amostra.jpg" width="50" height="50"></a>
<a href="http://www.uol.com.br" ONMOUSEOVER="popup('<img src=amostra.jpg>','orange')"; ONMOUSEOUT="kill()"><img src="Amostra.jpg" width="50" height="50"></a>
<a href="http://www.uol.com.br" ONMOUSEOVER="popup('<img src=amostra.jpg>','orange')"; ONMOUSEOUT="kill()"><img src="Amostra.jpg" width="50" height="50"></a>
</body>
Comentários:
Henrique Ramos disse:
Bom meus amigos, quem nunca cansou de ver fotos em sites que abrem em pop-up? Aqui está uma solução rapida, bonita e barata para resolver seu problema.
<!--Traduzido no Google.com-->
[b]
Benefícios do Script[/b]
Abre suas fotos com um bonito efeito, usando apenas layers sem nenhum pop-up.
[b]Como se usar:[/b]
1. Incluir lightbox.js e o lightbox.css em seu header(<head></head>
[code]
<script type="text/javascript" src="lightbox.js"></script>
<link rel="stylesheet" href="lightbox.css" type="text/css" media="screen" />
2. Adicionar o atributo rel=" lightbox " no tag <a> para ativar o lightbox. Por exemplo:
<a href="imagem.jpg" rel="lightbox" title="Meu titulo"><img src="imagem.jpg" bord="0"/></a>
Customizando o Script:
1. Você pode customizar seu script para ficar parecido com o do exemplo que será mostrado, basta colocar isso em seu lightbox.css:
#lightbox{
background-color:#eee;
padding: 10px;
border-bottom: 2px solid #666;
border-right: 2px solid #666;
}
#lightboxDetails{
font-size: 0.8em;
padding-top: 0.4em;
}
#lightboxCaption{ float: left; }
#keyboardMsg{ float: right; }
#lightbox img{ border: none; }
#overlay img{ border: none; }
2. Para criar o efeito de sombra, você deve usar um .png e um .css extra.
#overlay{ background-image: url(overlay.png); }
* html #overlay{
background-color: #000;
back\ground-color: transparent;
background-image: url(blank.gif);
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="overlay.png", sizingMethod="scale");
}
Se você gostaria de mostrar ao usuário um gráfico do "carregamento", como a barra animada de progresso no exemplos citado, basta adicionar esta linha ao seu lightbox.js.
var loadingImage = 'loading.gif';
Também gostaria de mostrar um botão X na imagem carregada no layer para o usuario utilizar? Adicione também ao lightbox.js o seguinte comando:
var closeButton = 'close.gif';
E pronto, seu script para fotos está completo.
Veja um exemplo online clicando aqui
Downloads dos arquivos usados:
Lightbox.js
Lightbox.css
Overlay.png
Loading.gif
Close.gif
Tutorial Original em Inglês
Espero que vocês gostem.
[/code]
Lucasbr disse:
dartanhan disse:
Lucasbr disse:
Ver o restante dos comentários no fórum (e aproveitar pra comentar também !).