Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Carcleo

[Resolvido] Mudar src e alt via js não funciona como esperado.

Recommended Posts

Pessoal, bom dia!

 

Gostaria de mudar parametros de uma imagem por js.

 

Tenho a seguinte imagem:

<img src='".endereco_normal."/$foto' alt='Foto Ampliada' id='imgprincipal' width='500px'>

Ela exibe normal aqui.

Mas, quando aplico a seguinte função com a ideia de trocar o src, o alt e o tamanho, simplesmente a imagem some.

 function clickfoto(src,alt) 
 {
         document.getElementById("imgprincipal").src = src;
         document.getElementById("imgprincipal").width="500px";
  document.getElementById("imgprincipal").alt=alt;
 } 

Estou chamando essa função a partir de um evento onmouseover de uma outra imagem(miniatura da que vai se ampliar.

echo "<img src='".endereco_mini."/$fotos_imovel' onmouseover=\"return clickfoto('".endereco_normal."/$fotos_imovel','Foto Ampliada');\" height='100'>";

A ideia aqui é, ao chamar a função, ela substitua a imagem previamente mostrada pela imagem normal da miniatura aparesentada.

O que estará errado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

aparece algum erro no console ?

 

Ctrl+Shift+J no Firefox.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pelo que observei, o parametro src esperado pelo objeto id seria uma string. Portando, deveria ser passado assim:

 

....src='parametrosrc';

 

Porem, o que esta sendo recebido é:

 

....src=parametrosrc;

 

Daí, como eu faria para fazer o src da função chegar como string?

 

Observei que a função:

       function clickfoto(src,alt) {
    	  document.getElementById("imgprincipal").src=src;
  document.getElementById("imgprincipal").alt=alt;
  //document.getElementById("imgprincipal").width='500px';
       } 

Altera o src. O alt não aparece nem na chamada principal nem na chamada da função, mas se eu colocar a ultima linha ela faz sumir a imagem

 

Bom, funcionou assim:

       function clickfoto(src,alt) {
    	  document.getElementById("imgprincipal").src=src;
	  document.getElementById("imgprincipal").alt=alt;
	  document.getElementById("imgprincipal").style.height='300px';
       } 

Mas, não sei porque, o alt não funciona de jeito nenhum.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente não usar nomes reservados.

 

function clickfoto( psrc, palt ) {

entendeu ?

 

além disso, você fez oq eu pedi ? apareceu algum erro ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha só.

Fiz sim, mas não da erro algum.

 

Mas, estive observando, todas as imagens do site inteiro não estao mostrando o alt

Compartilhar este post


Link para o post
Compartilhar em outros sites

hum... acho q você que está confundindo então..

o alt só é mostrado, se a imagem não carregar.

 

 

o atributo que mostra alguma coisa, qndo você fica com o mouse em cima, é o title.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pois é, acontece que sempre usei o alt e sempre deu certo até ie8.

 

Mas, antes de postar essa resposta aqui, estava eu pesquisando na net e acabei de descobrir isso.

 

Porem, o title, não deixa colocar palavra composta. Tipo title="Foto Ampliada". Daí ele só exibe Foto, o ampliada ele come.

Tem como contornar esse problema?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso que você disse não é verdade.

 

title aceita sim, multiplas palavras.

Compartilhar este post


Link para o post
Compartilhar em outros sites

então você está errando a sintaxe do html.

 

precisa delimitar com aspas duplas:

 

title="mais de uma palavra", e não pode ter nenhuma outra aspa dupla ai no meio.

aperte Ctrl+U e analise o codigo html gerado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.