ugrás a tartalomhoz

.js felépítése

cannavaro · 2005. Már. 16. (Sze), 20.35
Sziasztok!

Olyan kérdésem lenne felétek, hogy szeretnék egy random image javascriptet elhelyezni az oldalon és szeretném egy külön fájlba(.js) felsorolni a képeket, mert nem szeretnék egy pár megás index.php-t. Azt szeretném kérdezni hogy kell ezt a .js fájlt felépíteni.
Gondolom <script src="valami.js"></script>-el meghívjuk és másoljam be a scriptet a .js fájlba? Vagy kell még valami ; vagy { bele?
Mert így bemásolva nem műxik.
 
1

Forrás

Anonymous · 2005. Már. 16. (Sze), 23.14
A képeket egy tömbben kellene elhelyezned, nagyjából így:
var images = new Array;
images = [
  '/img/1.gif',
  '/img/2.gif',
  '/img/3.gif',
  '/img/4.gif'
];
Ezt php-ból könnyedén le tudod generálni.
Hivatkozni úgy tudsz rájuk, hogy images[0],images[1], stb.
Arra kell vigyázni, hogy a legutolsó elem után ne legyen vessző, mert akkor az IE egy üres elemet hozzácsap a tömbhöz, míg a Mozilla böngészők nem.

Gyulus
2

Ez eddig oké

cannavaro · 2005. Már. 17. (Cs), 16.15
Kerestem a neten pár ilyan random image javascriptet, amik felépítése olyan, mint amit írtál, ami szép is jó is, 50 képig működik, de 60nál már nem. Nekem 200 képet kellene forgatnom, amire egy elég kellemetlen errort ír ki, és nem tudok rájönni mi a különbség 50 és 60 kép között. Én az ilyet használok:

function random_imglink(){
var myimages=new Array()
myimages[1]="Kepek/1/1k.JPG"
myimages[2]="Kepek/1/2k.JPG"
myimages[3]="Kepek/1/3k.JPG"

var imagelinks=new Array()
imagelinks[1]="Kepek/1/1.JPG"
imagelinks[2]="Kepek/1/2.JPG"
imagelinks[3]="Kepek/1/3.JPG"

var imagecomment=new Array()
imagecomment[1]="ide írok valami szöveget"
imagecomment[2]="ide írok valami szöveget"
imagecomment[3]="ide írok valami szöveget"

var ry=Math.floor(Math.random()*myimages.length)

if (ry==0)
ry=1
document.write('<a href='+'"'+imagelinks[ry]+'"'+'><img src="/'+myimages[ry]+'" border=0><br>'+imagecomment[ry]+'</a>')
}

random_imglink()

Végülis ez a lényeg:

var ry=Math.floor(Math.random()*myimages.length)

Ezt a sort értem mit csinál, generál egy számot 0 és 1 között, amit megszoroz a képek számával és kerekíti egészre. csak azt nem értem miért nem megy 60nál több képre.