Bonjour,

Je reste bloqué sur un problème javascript dans l'application que je développe, j'ai fais un test dans une page web à part et celà fonctionne.

Voici ce que veux faire, j'ai une partie de l'application qui contient une image qui change au bout d'un moment par un effet de transition(mosaique), ce qui ne semble pas compliqué.
J'ai un message d'erreur me disant que l'objet est undefined (filter) du coup j'ai mis des "alert" pour voir.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
function changeImg(withEffects)
{
    var monimg = document.getElementById('iAleatoire');
    /*monidImg.src='images/iAleatoire1.png';*/
    alert(monimg);
   alert(monimg.filter);
}
le premier alert me donne bien la présence de l'objet [object], par contre le second me retourne donc undefined, j'ai tester avec filter.length, j'ai 0.

Ce qui est étrange c'est que j'ai le même effet mosaique sur des news (div) qui lui fonctionne dans la même page :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
function changeNews(withEffects)
{    
	var monid = document.getElementById('actubox');	
	/*alert(monid.filters.length);*/
	if (withEffects==true) {monid.filters[0].apply();}
	monid.innerHTML=monarray[currentIndex];	
	if (withEffects==true) {monid.filters[0].play();}
 
	if (currentIndex<monarray.length -1)
	{
		currentIndex = currentIndex+1;
	}
	else
	{
		currentIndex = 0;
	}
}
Je me suis fais donc dans une page à part un test qui lui fonctionne, ne vois pas donc pourquoi j'ai ce undefined...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
<html>
<img id="monimage" src="test.png" />
<img id="iAleatoire" src="" style="height:180px;width:260px;border-width:0px;z-index: 102; left: 762px;
            position: absolute; top: 557px" />
<script type="text/javascript">
var monid = document.getElementById('monimage');
var monid2 = document.getElementById('iAleatoire');
alert(monid);
alert(monid2);
monid.filters[0].apply();
monid.filters[0].play();
monid2.filters[0].apply();
</script>
</html>
Si vous pouvez m'aider ! merci.

Nota: je suis sous Internet Explorer 6, application en millieu professionnel sous VB.Net 2005.