Jump to content


Photo

Função Em Js Que Troca Imagem


  • Faça o login para participar
11 replies to this topic

#1 thirodrifer

thirodrifer

    Turista

  • Usuários
  • 56 posts
  • Sexo:Não informado

Posted 11/08/2005, 10:03

Aí galera, tenho essa function que troca de 6 em 6 segundos uma imagem de fundo em uma td.

Ex:

<td id="imgDinamica" background="INTRANET_IMAGENS/default/logo_inicio3.jpg">

e lá no body eu chamo essa function:

<body onLoad="CarregaImg(0)">

e a function é essa:

function CarregaImg(nr) {
var timeOutID = null;

if (nr<1 || nr==3) {
nr=1;
} else {
nr+=1;
}
if (timeOutID!=null) {
timeOutID=null;
}

timeOutID = setTimeout("CarregaImg(" + nr + ")",6000);
document.getElementById('imgDinamica').background = "INTRANET_IMAGENS/default/logo_inicio" + nr +".jpg";
}

A function tá rodando certinha no IE, mas no Firefox não roda.
O que seria? e como eu mudaria pra rodar no Firefox?

#2 Klaus

Klaus

    @ ubuntu jaunty

  • Ex-Admins
  • 7924 posts
  • Sexo:Masculino
  • Localidade:127.0.0.1

Posted 11/08/2005, 10:22

document.getElementById('imgDinamica').style.backgroundImage = "INTRANET_IMAGENS/default/logo_inicio" + nr +".jpg";
Klaus Paiva
Conheça também: Taperás

#3 thirodrifer

thirodrifer

    Turista

  • Usuários
  • 56 posts
  • Sexo:Não informado

Posted 11/08/2005, 10:55

Nao deu certo nao...

E no IE fica dando erro de script quando coloco o .style

#4 Klaus

Klaus

    @ ubuntu jaunty

  • Ex-Admins
  • 7924 posts
  • Sexo:Masculino
  • Localidade:127.0.0.1

Posted 11/08/2005, 10:57

IE? IE SUX.

Qual erro?
Klaus Paiva
Conheça também: Taperás

#5 kaduzick

kaduzick

    12 Horas

  • Usuários
  • 229 posts
  • Sexo:Masculino
  • Localidade:Brasília
  • Interesses:Aprender e Ajudar

Posted 11/08/2005, 12:47

eu tive esse mesmo problema

é só fazer assim


document.getElementById('imgDinamica').style.background = "url('INTRANET_IMAGENS/default/logo_inicio' + nr +'.jpg')";

tenta isso daí, pelo menos aqui funcionou.
kaduzick - The Nerds

#6 thirodrifer

thirodrifer

    Turista

  • Usuários
  • 56 posts
  • Sexo:Não informado

Posted 11/08/2005, 13:52

Não deu certo em nenhum dos casos.

No exemplo do Klaus dá erro de script dizendo que tem argumento inválido.
Aparece só a imagem de fundo original que tá dentro da td.

No exemplo do kaduzick não dá erro de script porém não aparece nenhuma imagem.

me ajudem ai galera, preciso resolver isso.

valeu.

#7 kaduzick

kaduzick

    12 Horas

  • Usuários
  • 229 posts
  • Sexo:Masculino
  • Localidade:Brasília
  • Interesses:Aprender e Ajudar

Posted 11/08/2005, 20:11

cara, eu fiz o teste tanto no IE quanto no firefox e funcionou.
Boto fé que o erro é outro.
de qualquer forma meu MSN é kadumetal@hotmail.com, me adiciona aí que eu te ajudo
kaduzick - The Nerds

#8 Alex Hiroshi

Alex Hiroshi

    Super Veterano

  • Ex-Admins
  • 4923 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP

Posted 12/08/2005, 08:43

Tente assim
document.getElementById('imgDinamica').style.background = "url('INTRANET_IMAGENS/default/logo_inicio" + nr +".jpg')";
Deve funcionar :D
Fórum WMO - Equipe de Desenvolvimento / Banco de Dados - Ex-Administrador

#9 thirodrifer

thirodrifer

    Turista

  • Usuários
  • 56 posts
  • Sexo:Não informado

Posted 12/08/2005, 09:39

xxALExx, vc postou a mesma coisa do kaduzick. Não funfa.

eu fiz de uma maneira um pouco diferente e funfou nos
2 navegadores:

var imagens=new Array() ;

imagens[1]=new Image();
imagens[2]=new Image();
imagens[3]=new Image();
imagens[4]=new Image();
imagens[5]=new Image();
imagens[6]=new Image();


imagens[1].src="INTRANET_IMAGENS/default/logo_inicio1.jpg";
imagens[2].src=
"INTRANET_IMAGENS/default/logo_inicio2.jpg";
imagens[3].src=
"INTRANET_IMAGENS/default/logo_inicio3.jpg";

imagens[4].src="INTRANET_IMAGENS/default/logo_inicio4.jpg";
imagens[5].src=
"INTRANET_IMAGENS/default/logo_inicio5.jpg";
imagens[6].src=
"INTRANET_IMAGENS/default/logo_inicio6.jpg";

function CarregaImg(nr) {
var timeOutID = null;
if (nr<1 || nr==6) {
nr=1;
} else {
nr+=1;
}
if (timeOutID!=null) {
timeOutID=null;
}
timeOutID = setTimeout("CarregaImg(" + nr +
")",15000);
document.images['imgDinamica'].src =
imagens[nr].src;
}

Daí lá no body eu chamo ela passando um valor inicial:


eu passando o valor 1 a imagem inicial será 1.

Mas agora eu queria saber como eu adaptaria pra pegar
o valor inicial em randômico mesmo, se que eu dê esse
valor? Pq mesmo as imagens estando em randômico elas
sempre iniciarão na mesma ordem.
Por exemplo um comando que pegue a hora por exemplo e
faça algo que gere um número de 1 a 6 por exemplo e
atribua na function CarregaImg.

Valeu.

#10 Alex Hiroshi

Alex Hiroshi

    Super Veterano

  • Ex-Admins
  • 4923 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP

Posted 12/08/2005, 09:43

Mas vc testou o que eu postei? Eu não postei a mesma coisa que o kaduzick ;)
Fórum WMO - Equipe de Desenvolvimento / Banco de Dados - Ex-Administrador

#11 kaduzick

kaduzick

    12 Horas

  • Usuários
  • 229 posts
  • Sexo:Masculino
  • Localidade:Brasília
  • Interesses:Aprender e Ajudar

Posted 12/08/2005, 09:48

é só usar isso aí:


parseInt(Math.random()*10)

kaduzick - The Nerds

#12 thirodrifer

thirodrifer

    Turista

  • Usuários
  • 56 posts
  • Sexo:Não informado

Posted 12/08/2005, 10:59

xxALExx, na que vc postou só muda as aspas... o que dá erro é quando eu coloco o style na frente do background...

Sobre o esquema de randômico, deu certo...

valeu xxALExx e valeu kaduzick.




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq