Problem mit JavaScript

Kopfballstar

Erfahrenes Mitglied
Hallo,

im vorraus: Ich wäre für Hilfe sehr dankbar, denn es ist relativ dringend und wichtig das ich den Fehler finde! Vielen Dank schonmal an jeden der sich kurz Zeit nimmt.

ich habe ein dickes Problem mit einem JavaScript. Es ist so das es manchmal funktioniert, dann wieder nicht. Als Beispiel: Gestern lief es einwandfrei. Ich gehe zum Sport, und als ich wieder zu Hause bin geht es wieder nicht. Habe mit einem alert Befehl mal die Funktionen durchgeprüft: Es werden auf jeden Fall immer die richtigen Werte übergeben. Als ich das prüfte funktionierte es auch wieder. Dann habe ich den Alert Befehl rausgenommen und es lief immer noch. Dann habe ich die Seite komplett neu geöffnet und das Skript funktionierte plötzlich wieder nicht!

Es handelt sich um eine Slideshow und funktioniert folgendermaßen:

Hier wird sie eingebunden:
HTML:
<td  width='138' height='137'>
     <div id='slideshow'>
	<?php include('slideshow/slideshow.php');?>
     </div>
</td>

Hier die Datei:
Code:
<img border="0" name="img" src="slideshow/1.jpg"> 
<br>
<div id='button_left'>
     <a id="right" name="next" href="javascript:void('')" onclick="nextimg()" ></a>
</div>

<div id='button_right'>
     <a id="left" name="previous" href="javascript:void('')" onclick="previmg()" ></a>
</div>

Hier das JavaScript:
Code:
var i = 1; 
images = new Array; 
images[1] = "slideshow/1.jpg" ;
images[2] = "slideshow/2.jpg" ;
images[3] = "slideshow/3.jpg" ;
images[4] = "slideshow/4.jpg" ;
images[5] = "slideshow/5.jpg" ;
images[6] = "slideshow/6.jpg" ;
images[7] = "slideshow/7.jpg" ;
images[8] = "slideshow/8.jpg" ;
images[9] = "slideshow/9.jpg" ;
images[10] = "slideshow/10.jpg" ;
images[11] = "slideshow/11.jpg" ;
images[12] = "slideshow/12.jpg" ;
images[13] = "slideshow/13.jpg" ;
images[14] = "slideshow/14.jpg" ;
images[15] = "slideshow/15.jpg" ;

function gallery(){ 
	if (i == 1){ 
	document.gallery.previous.value="";
	} 
}

function previmg(){ 
	if (i != 1) { 
		i --; 
		document.img.src = images[i];
	} 
	if (i == 1) { 
		image = images[15]; 
		document.img.src = image;
		i = 15;
	} 
} 

function nextimg(){ 
	if (i != 15) { 
		i ++;
		image = images[i];
		document.img.src = image;
	} 
	if (i == 15){ 
		image = images[1]; 
		document.img.src = image;
		i = 1;
	} 
}
 
Die Klammern bei Array fehlen.

Außerdem: Gib dem Bild eine Id, statt eines Namens und sprech es immer über "document.getElementById('IdDesBildes')" statt "document.img" an. Außerdem ist "javascript:" in Links nicht so toll. Mach's besser so:
HTML:
<a id="right" name="next" href="#" onclick="nextimg(); return false;" ></a>

Edit:
Sven war schneller.
 
con-f-use hat gesagt.:
Gib dem Bild eine Id, statt eines Namens und sprech es immer über "document.getElementById('IdDesBildes')" statt "document.img"

Was genau würde das für Vorteile bringen, mal abgesehen davon, dass es mehr Code ist und dann in evtl. noch vorhandenen Uralt-Browsern nicht mehr funktioniert? :)
 
Wozu überhaupt das a-Element wenn es nicht einmal ein richtigen Ziel-URL gibt? Ach ja, es soll ja so wirken, als sei es ein normaler Link.
 

Neue Beiträge

Zurück