Prever imagens com Javascript

Objectivo

O objectivo deste tutorial é explicar como criar uma lista de opções de imagens em que o visitante do nosso site possa escolher cada hipótese e ter um preview da imagem seleccionada.

Para tal vamos usar Javascript para criar o efeito.

Começo por explicar primeiro o HTML em que consiste numa forma e de uma imagem, e de seguida explico o Javascript que não passa de uma pequena função para mudar de imagem cada vez que o visitante selecciona uma nova opção.

Para veres o que queremos criar basta seguir o link.

O HTML

O HTML é simples e consiste apenas de uma forma com uma lista e as várias hipóteses que o visitante tem.

<form name="SelecionarImagem">
<select name="ImagemEscolha" onChange="ImagemSelecionada()">
<option value="contribuinte.jpg">Imagem Um</option>
<option value="membro.jpg">Imagem Dois</option>
<option value="membrodomes.jpg">Imagem Tres</option>
</select>
</form>
<img src="images/icons/admin.jpg" id="imagemmudar">

O primeiro passo é criar uma forma e dar o nome de SelecionarImagem.

De seguida criamos uma lista com as várias hipóteses que o visitante tem, neste caso tem três imagens que pode escolher, em cada hipótese dá-mos o valor da imagem.

Também dá-mos um nome para esta lista ImagemEscolha.

Uma parte importante neste código é:

onChange="ImagemSelecionada()"

Isto serve para cada vez que o visitante seleccione uma hipótese chama a nossa função em Javascript, essa função é a que troca as imagens para o visitante ver um preview.

Por fim temos uma imagem, com a primeira escolha disponível. Esta imagem ira mudar-se sempre que o visitante seleccione outra hipótese, não esquecer o id imagemmudar.

O Javascript

O Javascript consiste numa pequena função que a única coisa que faz e agarrar no valor da hipótese escolhida e trocar a imagem para o visitante ver o preview.

<script language="javascript">
function ImagemSelecionada(){
var ImagemSelecionada = document.SelecionarImagem.ImagemEscolha;
var ImagemMostrar = ImagemSelecionada.options[ImagemSelecionada.selectedIndex].value
document.getElementById("imagemmudar").src = "images/icons/"+ImagemMostrar+""
}
</script>

Primeira passo que fazemos é criar uma função entre as tags headers do html, de seguida declaramos uma variável ImagemSelecionada para agarrar todas as opções disponíveis.

Basicamente esta linha funciona:

var ImagemSelecionada  //Declarar variável
document.SelecionarImagem.ImagemEscolha //Document.NomeQueDemosAForma.NomeDoSelect

A segunda linha é uma nova variável que guarda a escolha do visitante e o seu valor:

var ImagemMostrar  //Declarar variável
ImagemSelecionada.options[ImagemSelecionada.selectedIndex].value  //Serve para guardar o valor escolhido.

Por fim só resta trocar a imagem para isso:

Basicamente esta linha funciona:

document.getElementById("imagemmudar").src = "images/icons/"+ImagemMostrar+""

getElementById serve para agarrar o elemento que queremos modificar, como o elemento e uma imagem de seguida usamos .src, para modificarmos a imagem.
De seguida e só por a path onde as nossas imagens estão e a variável do valor da imagem.

Conclusão

E pronto esta feito, como vimos não e assim tão complicado.
Este exemplo foi testado em IE6, Firefox e Opera e resulta perfeitamente e podemos ver a ser usado aqui.

Deixe o seu comentário

XHTML: Podes usar as seguintes tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>