Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Marcar thumbnail ao clicar


Renan Mafra

Pergunta

Olá pessoal, bom dia.

To com o seguinte problema que não estou conseguindo resolver.
Estou fazendo uma pequena galeria de fotos com até no máximo 20 thumbnails, ao clicar no thumb eu gostaria que aparecesse uma borda
sinalizando que a pessoa clicou naquela foto, e ao clicar em outra acontecesse a mesma coisa, marcando sempre a thumb atual.

Eu pensei fazer com um javascript que acionasse o CSS, está em negrito no código, mais serve da maneira que for melhor.

Agradeço pela atenção.

Segue o meu código:

<html>
<head>
<style type="text/css">
body {
background-color: #000;
}
#apDiv1 {
position:absolute;
left:631px;
top:185px;
width:55px;
height:37px;
z-index:1;
}
#apDiv2 {
position:absolute;
left:741px;
top:185px;
width:55px;
height:37px;
z-index:1;
}
#linha{
border:solid;
border-color:#FFF;
border-width:1px;
}
</style>
</head>
<body>
<div id="apDiv1"><a href="#"><img src="1.gif" width="68" height="41" id="linha"/></a></div>
<div id="apDiv2"><a href="#"><img src="2.gif" width="68" height="41" id="linha"/></a></div>
</body>
</html>
Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0

Com jQuery é relativamente simples:

$(function() {
    $("img").click(function() {
        $("img").not(this).removeClass("linha");
        $(this).addClass("linha");
    });
});

Fica um exemplo. Alterei o ID linha para uma classe pois não deves ter dois elementos com o mesmo ID num documento HTML.

Editado por wootzor
Link para o comentário
Compartilhar em outros sites

  • 0

Amigo,

eu fiz assim:

$(window).load(function(){
$(function () {
$('.tumb').click(function () {
$('.tumb').not(this).removeClass("linha");
$(this).addClass("linha");
});
});
});//]]>
e nas imagens coloquei a class tumb assim:
<div id="apDiv2"><a href="#"><img src="http://placehold.it/68x41" width="68" height="41" border="0" class="tumb"/></a>
Tá certo ? Funcionou, mais está correto ?
Link para o comentário
Compartilhar em outros sites

  • 0

Olá pessoal,

Estou com um problema, que é exatamente o mesmo de quando criei este tópico. É uma galeria de fotos. Que quando o usuário clicar no tumbnail o mesmo
fica com o border ativado e uma imagem é carregada dentro de uma DIV, e assim consequentemente... Tudo OK, mais eu preciso que quando a página
carregue, a primeira tumb já esteja acionada junto com a primeira imagem já carregada dentro da DIV. Como faço isso pessoal ? quem puder me ajudar
agradeço desde já ! Segue o código abaixo:

///////// JS

<script type='text/javascript' src='//code.jquery.com/jquery-2.1.3.js'></script>

$(document).ready(function() {
$(".imagem").click(function(event) {
event.preventDefault();
$("#imagem").html($("<img>").attr("src", this.href));
});
});
$(window).load(function(){
$(function () {
$('.tumb').click(function () {
$('.tumb').not(this).removeClass("linha");
$(this).addClass("linha");
});
});
});
///////// CSS
#imagem {
position:absolute;
left:11px;
top:798px;
width:856px;
height:879px;
z-index:1;
text-align:center;
}
.linha {
border:solid;
border-color:#999;
border-width: 1px;
}
#tumbnails {
position:absolute;
left:15px;
top:695px;
width:863px;
height:78px;
z-index:1;
}
/////// HTML
<div id="tumbnails">
<table width="857" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="43" width="71" align="left"><a href="fotos/01.gif" class="imagem"><img src="fotos/tumbs/tumb01.gif" width="68" height="41" border="0" class="tumb"></a></td>
<td width="71" align="left"><a href="fotos/02.gif" class="imagem"><img src="fotos/tumbs/tumb02.gif" width="68" height="41" border="0" class="tumb"></a></td>
<td width="71" align="left"><a href="fotos/03.gif" class="imagem"><img src="fotos/tumbs/tumb03.gif" width="68" height="41" border="0" class="tumb"></a></td>
<td width="71" align="left"><a href="fotos/04.gif" class="imagem"><img src="fotos/tumbs/tumb04.gif" width="68" height="41" border="0" class="tumb"></a></td>
<td width="71" align="left"><a href="fotos/05.gif" class="imagem"><img src="fotos/tumbs/tumb05.gif" width="68" height="41" border="0" class="tumb"></a></td>
<td width="71" align="left"><a href="fotos/06.gif" class="imagem"><img src="fotos/tumbs/tumb06.gif" width="68" height="41" border="0" class="tumb"></a></td>
<td width="71" align="left"><a href="fotos/07.gif" class="imagem"><img src="fotos/tumbs/tumb07.gif" width="68" height="41" border="0" class="tumb"></a></td>
<td width="71" align="left"><a href="fotos/08.gif" class="imagem"><img src="fotos/tumbs/tumb08.gif" width="68" height="41" border="0" class="tumb"></a></td>
<td width="71" align="left"><a href="fotos/09.gif" class="imagem"><img src="fotos/tumbs/tumb09.gif" width="68" height="41" border="0" class="tumb"></a></td>
<td width="71" align="left"><a href="fotos/010.gif" class="imagem"><img src="fotos/tumbs/tumb010.gif" width="68" height="41" border="0" class="tumb"></a></td>
<td width="71" align="left"><a href="fotos/011.gif" class="imagem"><img src="fotos/tumbs/tumb011.gif" width="68" height="41" border="0" class="tumb"></a></td>
<td width="76" align="left"><a href="fotos/012.gif" class="imagem"><img src="fotos/tumbs/tumb012.gif" width="68" height="41" border="0" class="tumb"></a></td>
</tr>
<tr>
<td height="43" align="left" valign="bottom"><a href="fotos/013.gif" class="imagem"><img src="fotos/tumbs/tumb013.gif" width="68" height="41" border="0" class="tumb"></a></td>
<td align="left" valign="bottom"><a href="fotos/014.gif" class="imagem"><img src="fotos/tumbs/tumb014.gif" width="68" height="41" border="0" class="tumb"></a></td>
<td align="left" valign="bottom"><a href="fotos/015.gif" class="imagem"><img src="fotos/tumbs/tumb015.gif" width="68" height="41" border="0" class="tumb"></a></td>
<td align="left" valign="bottom"><a href="fotos/016.gif" class="imagem"><img src="fotos/tumbs/tumb016.gif" width="68" height="41" border="0" class="tumb"></a></td>
<td align="left" valign="bottom"><a href="fotos/017.gif" class="imagem"><img src="fotos/tumbs/tumb017.gif" width="68" height="41" border="0" class="tumb"></a></td>
<td align="left" valign="bottom"><a href="fotos/018.gif" class="imagem"><img src="fotos/tumbs/tumb018.gif" width="68" height="41" border="0" class="tumb"></a></td>
<td align="left" valign="bottom"><a href="fotos/019.gif" class="imagem"><img src="fotos/tumbs/tumb019.gif" width="68" height="41" border="0" class="tumb"></a></td>
<td align="left" valign="bottom"><a href="fotos/020.gif" class="imagem"><img src="fotos/tumbs/tumb020.gif" width="68" height="41" border="0" class="tumb"></a></td>
<td align="left" valign="bottom"><a href="fotos/021.gif" class="imagem"><img src="fotos/tumbs/tumb021.gif" width="68" height="41" border="0" class="tumb"></a></td>
<td align="left" valign="bottom"><a href="fotos/022.gif" class="imagem"><img src="fotos/tumbs/tumb022.gif" width="68" height="41" border="0" class="tumb"></a></td>
<td align="left" valign="bottom"><a href="fotos/023.gif" class="imagem"><img src="fotos/tumbs/tumb023.gif" width="68" height="41" border="0" class="tumb"></a></td>
<td align="left" valign="bottom"><a href="fotos/024.gif" class="imagem"><img src="fotos/tumbs/tumb024.gif" width="68" height="41" border="0" class="tumb"></a></td>
</tr>
</table>
</div>
//////// DIV Aonde irá aparecer as fotos
<div id="imagem"></div>
Editado por Renan Mafra
Link para o comentário
Compartilhar em outros sites

  • 0

Experimenta assim.

$(document).ready(function() {
	$("#imagem").html($("<img>").attr("src", $("img").first().parent("a").attr("href")));
	$("img").first().addClass("linha");
	$(".imagem").click(function(event) {
		event.preventDefault();
		$("#imagem").html($("<img>").attr("src", this.href));
	});
	$('.tumb').click(function() {
		$('.tumb').not(this).removeClass("linha");
		$(this).addClass("linha");
	});
});
Editado por wootzor
Link para o comentário
Compartilhar em outros sites

  • 0

Olá Wootzor,

Eu quebrei um pouco a cabeça aqui, por que inseria o JS e não funcionou de primeira, mais depois vi por que... O primeiro elemento de
imagem não era o relacionado ao código, foi só colocar as tumbs dentro da div tumbnails mais acima do código tornando a primeira tumb
como o primeiro elemento de imagem da página, funcionou 100%.


Wootzor, mais uma vez muito obrigado pela sua inestimável ajuda !
Obrigado mesmo pelo help.

Grande abraço !!!!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...