Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

pemoamsi

Retirar array de valores de um txt

Mensagens Recomendadas

pemoamsi

O meu objectivo é fazer um genero de banner, que apenas imprima um array de imagens controlado por um "txt". Neste momento estou a usar o seguinte código:

<title>Image Array</title>
<SCRIPT LANGUAGE=Javascript TYPE="TEXT/Javascript">
adImages = new Array("image1.jpeg","image2.jpeg","image3.jpeg","image4.jpeg")
thisAd = 0
imgCt = adImages.length

function rotate() {
 if (document.images) {
 thisAd++
 if (thisAd == imgCt) {
 thisAd = 0
 }
 document.adBanner.src=adImages[thisAd]
 setTimeout("rotate()" , imgCt * 1000)
 }

 }

 </script>

</head>
<BODY BGCOLOUR=BLUE onload="rotate()">
<center>
<A HREF="javascript:newLocation()">
<IMG SRC="images/banner/dods.gif" WIDTH=600 HEIGHT=500 NAME="adBanner" BORDER="0">
</center>
</body>
</html>

com ele eu imprimo as imagens que pretendo, mas queria substituir o o nome das imagens por um ficheiro txt, contento o nome das imagens...

file.txt

image1.jpeg,image2.jpeg,image3.jpeg,image4.jpeg,.........

assim poderia ter o número de imagens que eu quiser sem estar a editar o código...

Editado por pemoamsi

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pikax

usa o php, para criar o array do javascript.


Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
taviroquai

Nao precisas da variavel imgCt

A variavel thisAd serve de indice actual? Ve bem...

Editado por taviroquai

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
malleus

Podes usar AJAX para ir buscar os conteúdos de um ficheiro do mesmo servidor e a partir daí fazer o parse desses mesmos conteúdos (no teu caso bastaria fazer um Split para passares esses dados para um Array). Mas seria sempre melhor se povoasses o teu Array a partir de uma qualquer linguagem server-side, que têm métodos mais eficientes de leitura/escrita/manipulação de ficheiros.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pemoamsi

Gostava de partilhar aqui como resolvi a questão com a ajuda da dica do pikax:

var nesne ;
nesne = new XMLHttpRequest();

function yolla() {
nesne.open('get', 'teste.txt', true);
nesne.onreadystatechange= cevap;
nesne.send(null);
}

function cevap() {
var teste;
if(nesne.readyState==4) {
	var el = document.getElementById('bilgi');
	teste = el.innerHTML = nesne.responseText;
	adImages = new Array(teste);	
	thisAd = 0;
	imgCt = adImages.length;
	nesne.onreadystatechange = rotate(adImages);
}
}

a partir daqui, apenas tive que ter o cudado de enviar o adImages para a function rotate() e depois converter em str.

O meu unico problema é que queria resolver a questão sem ter de apresentar o conteudo na página, mas por agora... fica assim até o trabalho estar concluido e depois revejo esse "pormenor"

Editado por pemoamsi

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.