Volledige versie bekijken : JavaScript doet raar?



ultddave
7 June 2009, 14:15
http://img3.imageshack.us/img3/1646/javascriptprobleem.jpg

Hij zegt dat het leeg is, terwijl de variabele links onder wel degelijke de waarde "slideImg" heeft.

Dit is het deel van de code:




function switchImage(place) {

var new_image = getNextImage();
document[place].src = new_image;
var recur_call = "switchImage('"+place+"')";
timerID = setTimeout(recur_call, interval);
}

function startStop(place) {

if(onoffswitch==0)
{

switchImage(place);
onoffswitch++;
}
else
{
clearTimeout(timerID);
onoffswitch-=1;
}
}


// -->
</script>


<p>
<img id="slideImg" src="images/01.jpg" width="604px" height="453px" alt="Foto van auto."/>

<a href="#" onclick="startStop('slideImg')">play slide show</a>

<a href="#" onclick="prevImage('slideImg'); clearTimeout(timerID)"> previous</a>

<a href="#" onclick="switchImage('slideImg'); clearTimeout(timerID)">next </a>

</p>


Elke knop heeft deze error. Vroeger werkte het wel, nu ineens niet meer, geen idee waarom. Ik heb niets verandert :(.


EDIT: Het is een stuk code van een 'slideshow' in JavaScript. Van hier: http://www.webmonkey.com/tutorial/Make_a_JavaScript_Slideshow

Alleen hebk de laatste functie "startstop" zelf geschreven. Maar deze werkte gisteren nog.

Mvg,
Dave

PS: De waarde van de variabele new_image is ook juist.

ultddave
7 June 2009, 15:02
Ok in IE 7 en 8 gaat het niet. In Safari ook niet. In fireFox gaat wel alles? :P Vreemd ^^

Snakey
7 June 2009, 22:29
Verschillende browsers hebben een eigen implementatie van het DOM, het kan zijn dat je daardoor document[place].src niet kan vinden. Gebruik eens de ie developer toolbar (http://www.microsoft.com/downloadS/details.aspx?familyid=E59C3964-672D-4511-BB3E-2D5E1DB91038&displaylang=en) om dit te inspecteren (voor firefox heb je firebug). Een alternatief zou kunnen zijn om getElementById("id") te gebruiken, als je enkel attributen moet aanpassen, zal dit ook werken, als je een childEelement nodig hebt, kan je weer problemen krijgen door het DOM.

Normaalgezien wordt er meestal javascript frameworks (zoals jQuery) gebruikt, waarbij het DOM probleem door het framework afgehandeld wordt.

ultddave
8 June 2009, 23:28
Ow ok thanks. Ik zal dat eens proberen. :D

Greetz,
Dave