Ir para conteúdo

POWERED BY:

Arquivado

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

Scaico

Troca de Banners com tempo

Recommended Posts

Olá pessoas.

 

Pesquisei bastante sobre isso e encontrei algumas soluções que não resolveram o problema (postarei abaixo).

 

O que eu preciso deve ser relativamente simples:

 

Dentro de uma div "topo", terei uma série de 6 banners em flash, no qual o PRIMEIRO deve se apresentar de forma aleatória e, a cada 10 segundos, mudar... Porem a mudança deve ser em ordem cronologica.

 

Explicando de forma prática:

 

Quando a pessoa entrar no site, aleatoriamente irá surgir o banner 4. Após 10 segundos, surgirá o banner 5. Após 10 segundos, surgirá o banner 6. E, finalmente, 10 segundos depois, surgirá o banner 1... E por aí vai.

 

E, quando a pessoa entrar em alguma outra pagina ou simplesmente der um F5, o primeiro banner a aparecer poderá ser o banner 2 ou talvez o banner 1... Mas independente de qual apareça, a ordem a seguir será sempre cronológica.

 

--

 

Pesquisando por ai, encontrei o SWFObject.js, para abrir aleatório. A aplicação é a seguinte:

<div id="topo"></div>
<script type="text/javascript">
					flash = new Array();
					flash[0] = "animacao1.swf";
					flash[1] = "animacao2.swf";
					flash[2] = "animacao3.swf";
					flash[3] = "animacao4.swf";
					flash[4] = "animacao5.swf";
					flash[5] = "animacao6.swf";
					valor = Math.random()*6; 
					valor = Math.floor(valor); 
					var so = new SWFObject(flash[valor], "topFlash", "738", "326", "8", "#fff");
					//so.addParam("wmode", "transparent");
					so.write("topo");
				</script>

Porém a sequencia de 10 em 10 segundos eu não consegui.

Cheguei a ver esse código:

<script language="javascript">
var num=0;
var anim=new Array();
anim[0]="animacao1.swf";
anim[1]="animacao2.swf";
anim[2]="animacao3.swf";
function selecionarSWF() {
document.write("<embed src="+anim[num]+" width='738' height='326'>"); 
  num++;
  if(num == (anim.length - 1)) {
	num=0;
  }
  window.setInterval("selecionarSWF();",7000);

}

window.onload=selecionarSWF();
</script>

mas ele não ajuda, pois o document.write apaga todo o conteudo da página. mesmo usando window.document.write, que li que resolve esse problema, não resolveu.

 

Então se algum de vocês puder ajudar a juntar o útil ao agradavel... ficarei grato! :D

 

PS: o script para a sequencia é essencial. O de aleatoriedade é relativo. Se forem coisas incompativeis, posso sacrificar isso... Só preciso que role a sequência.

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

 

Não sei se o problema está no <embed>.. Já testou com imagens somente para ver se o código resulta? Se resultar o problema estará no embed....

Procure na Net como adicionar Flash em páginas HTML ;).

 

Cumps

Compartilhar este post


Link para o post
Compartilhar em outros sites

ACHO que seria fazer um div e usar o getElementById com o innerHTML

Opa Rodrigo, beleza?

 

Então. Eu já cheguei a testar com uma div chamada 'banner' e usando document.getElementById('banner').write e não funcionou. Não sei se fiz direito... Vou dar umas testadas.

 

Valeu pela dica!

 

--

 

Olá,

 

Não sei se o problema está no <embed>.. Já testou com imagens somente para ver se o código resulta? Se resultar o problema estará no embed....

Procure na Net como adicionar Flash em páginas HTML ;).

 

Cumps

Webflex, bom dia.

 

Na verdade o problema não está no <embed>... e sim no document.write. Seja com imagens, flash ou texto... Após o tempo determinado, ele basicamente APAGA tudo que existe na página e cria uma nova apenas com o conteúdo do document.write. Com isso, eu perco tudo, ficando apenas o banner.

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.