JS: svp : améliorer script à cause d'IE 6
Résolu
moicjm
Messages postés
271
Date d'inscription
Statut
Membre
Dernière intervention
-
moicjm Messages postés 271 Date d'inscription Statut Membre Dernière intervention -
moicjm Messages postés 271 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai (pompé) une fonction Javascript qui m'est trèès utile pour mon site et "horreur!" elle ne fonctionne pas sur IE 6.
Elle sert à afficher des images en diaporama avec effet de fondu. C'est tres joli !
IE 6 n'affiche rien. Que dalle, niet, rien. Si qq'un savait lire ce code pour me dire comment résoudre le probleme... Je ne sais meme pas pourquoi IE 6 ne la comprend pas. A cause d'opacity peut-etre ? Peut-etre dans ce cas faudrait-il la modifier pour qu'elle affiche une image lors du load de la page ?
Moi, j'y comprend pas suffisamment en JS pour la refaire ...!
Merci d'avance !
^^^^^^^ le code dans <head> :
<script language="Javascript" type="text/javascript">
window.addEventListener?window.addEventListener("load",so_init,false):window.attachEvent("onload",so_init);
var d=document, imgs = new Array(), zInterval = null, current=0, pause=false;
function so_init() {
if(!d.getElementById || !d.createElement)return;
// DON'T FORGET TO GRAB THIS FILE AND PLACE IT ON YOUR SERVER IN THE SAME DIRECTORY AS THE JAVASCRIPT!
// http://slayeroffice.com/code/imageCrossFade/xfade2.css
css = d.createElement("link");
css.setAttribute("href","xfade2.css");
css.setAttribute("rel","stylesheet");
css.setAttribute("type","text/css");
d.getElementsByTagName("head")[0].appendChild(css);
imgs = d.getElementById("imageContainer").getElementsByTagName("img");
for(i=1;i<imgs.length;i++) imgs[i].xOpacity = 0;
imgs[0].style.display = "block";
imgs[0].xOpacity = .99;
setTimeout(so_xfade,2000);
}
function so_xfade() {
cOpacity = imgs[current].xOpacity;
nIndex = imgs[current+1]?current+1:0;
nOpacity = imgs[nIndex].xOpacity;
cOpacity-=.05;
nOpacity+=.05;
imgs[nIndex].style.display = "block";
imgs[current].xOpacity = cOpacity;
imgs[nIndex].xOpacity = nOpacity;
setOpacity(imgs[current]);
setOpacity(imgs[nIndex]);
if(cOpacity<=0) {
imgs[current].style.display = "none";
current = nIndex;
setTimeout(so_xfade,3500);
} else {
setTimeout(so_xfade,90);
}
function setOpacity(obj) {
if(obj.xOpacity>.99) {
obj.xOpacity = .99;
return;
}
obj.style.opacity = obj.xOpacity;
obj.style.MozOpacity = obj.xOpacity;
obj.style.filter = "alpha(opacity=" + (obj.xOpacity*100) + ")";
}
}
</script>
^^^^^^^ dans <body> :
<div id="imageContainer">
<img src="images/deux1.jpg" width="" height="" alt="">
<img src="images/deux2.jpg" width="" height="" alt="">
<img src="images/deux3.jpg" width="" height="" alt="">
<img src="images/deux4.jpg" width="" height="" alt="">
<img src="images/deux5.jpg" width="" height="" alt="">
</div>
J'ai (pompé) une fonction Javascript qui m'est trèès utile pour mon site et "horreur!" elle ne fonctionne pas sur IE 6.
Elle sert à afficher des images en diaporama avec effet de fondu. C'est tres joli !
IE 6 n'affiche rien. Que dalle, niet, rien. Si qq'un savait lire ce code pour me dire comment résoudre le probleme... Je ne sais meme pas pourquoi IE 6 ne la comprend pas. A cause d'opacity peut-etre ? Peut-etre dans ce cas faudrait-il la modifier pour qu'elle affiche une image lors du load de la page ?
Moi, j'y comprend pas suffisamment en JS pour la refaire ...!
Merci d'avance !
^^^^^^^ le code dans <head> :
<script language="Javascript" type="text/javascript">
window.addEventListener?window.addEventListener("load",so_init,false):window.attachEvent("onload",so_init);
var d=document, imgs = new Array(), zInterval = null, current=0, pause=false;
function so_init() {
if(!d.getElementById || !d.createElement)return;
// DON'T FORGET TO GRAB THIS FILE AND PLACE IT ON YOUR SERVER IN THE SAME DIRECTORY AS THE JAVASCRIPT!
// http://slayeroffice.com/code/imageCrossFade/xfade2.css
css = d.createElement("link");
css.setAttribute("href","xfade2.css");
css.setAttribute("rel","stylesheet");
css.setAttribute("type","text/css");
d.getElementsByTagName("head")[0].appendChild(css);
imgs = d.getElementById("imageContainer").getElementsByTagName("img");
for(i=1;i<imgs.length;i++) imgs[i].xOpacity = 0;
imgs[0].style.display = "block";
imgs[0].xOpacity = .99;
setTimeout(so_xfade,2000);
}
function so_xfade() {
cOpacity = imgs[current].xOpacity;
nIndex = imgs[current+1]?current+1:0;
nOpacity = imgs[nIndex].xOpacity;
cOpacity-=.05;
nOpacity+=.05;
imgs[nIndex].style.display = "block";
imgs[current].xOpacity = cOpacity;
imgs[nIndex].xOpacity = nOpacity;
setOpacity(imgs[current]);
setOpacity(imgs[nIndex]);
if(cOpacity<=0) {
imgs[current].style.display = "none";
current = nIndex;
setTimeout(so_xfade,3500);
} else {
setTimeout(so_xfade,90);
}
function setOpacity(obj) {
if(obj.xOpacity>.99) {
obj.xOpacity = .99;
return;
}
obj.style.opacity = obj.xOpacity;
obj.style.MozOpacity = obj.xOpacity;
obj.style.filter = "alpha(opacity=" + (obj.xOpacity*100) + ")";
}
}
</script>
^^^^^^^ dans <body> :
<div id="imageContainer">
<img src="images/deux1.jpg" width="" height="" alt="">
<img src="images/deux2.jpg" width="" height="" alt="">
<img src="images/deux3.jpg" width="" height="" alt="">
<img src="images/deux4.jpg" width="" height="" alt="">
<img src="images/deux5.jpg" width="" height="" alt="">
</div>
A voir également:
- JS: svp : améliorer script à cause d'IE 6
- Arrondi js ✓ - Forum Windows
- Copiez l'image dans un logiciel d'édition d'images ou un outil en ligne comme js paint ou pixlr e. remplissez les cases en suivant le code couleur. des cases supplémentaires vont se remplir automatiquement. que représente le dessin ? ✓ - Forum Windows
- Remplir une case de tableau avec une couleur grise avec texture de pointillés ✓ - Forum Photoshop
- Reproduction d'un dessin - Forum Graphisme
- Js/kryptik.ad ✓ - Forum Virus
2 réponses
// DON'T FORGET TO GRAB THIS FILE AND PLACE IT ON YOUR SERVER IN THE SAME DIRECTORY AS THE JAVASCRIPT!
// http://slayeroffice.com/code/imageCrossFade/xfade2.css
as tu copié et enregistré le fichier xfade2.css ? avec ca marche sous IE6
// http://slayeroffice.com/code/imageCrossFade/xfade2.css
as tu copié et enregistré le fichier xfade2.css ? avec ca marche sous IE6
Je pense que je me plante au niveau de tous les fichiers CSS ... Peux tu m'expliquer
ce qu'il faut mettre ou lorsqu'il dit :
* Javascript Source
* Initial CSS
* CSS Imported with Javascript
Merci