J'essaie d'écrire une simple fonction JS qui fait tourner l'image de fond d'un bloc CSS par seconde d'une manière aléatoire. Je veux ajouter le nom du bloc et le nombre d'images des paramètres, afin que la fonction puisse être aussi flexible que possible et que je puisse appeler plusieurs instances sur une seule page. Le problème est que j'obtiens 'nameofparamter undefined' Erreur.Pourquoi un paramètre d'une fonction JavaScript renvoie-t-il undefined?
Voici le script avec le code HTML
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="hu-HU" lang="hu">
<head>
<meta name="http-equiv" content="text/html; charset="utf-8"">
<meta name="description" content="leiras"><meta name="keywords" content="kulcsszavak"/>
<style type="text/css">
div#mycontainer{
background-image: url(images/bg_image1.jpg);
width: 800px;
height: 600px;
}
</style>
<script type="text/javascript" charset="utf-8">
function changeBgImage(num, el){
var imageNum = num;
var randomImageNum = Math.ceil(Math.random()*imageNum);
if(el!=='null'){
el.style.backgroundImage='url(images/bg_image'+randomImageNum+'.jpg';
var timer = setTimeout("changeBgImage(num, el)", 1000);
}
}
</script>
</head>
<title>Dynamic Backgroundimage changer</title>
<body onload="changeBgImage(4, document.getElementById('mycontainer'));">
<div id="mycontainer">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut felis purus, dictum quis pellentesque ut, venenatis et tellus. Phasellus gravida cursus urna, quis hendrerit risus rutrum vel. Suspendisse dictum lobortis molestie. Sed quis lacus nec ante dignissim sollicitudin. Curabitur tristique facilisis turpis.
</div>
</body>
</html>
Je ne comprends pas vraiment parce qu'il ya la valeur itérée des deux paramètres dans le gestionnaire d'événements onload du corps où j'appelle la fonction? Alors pourquoi undefined? Votre aide est la bienvenue! :)
Cela provoque chaque seconde une nouvelle fermeture générée, ce qui conduit à une fuite de mémoire dans IE – alemjerus
@alemjerus pouvez-vous poster un screeny de vos graphiques d'utilisation de la mémoire? – Breton