connaitre toutes les images suivantes avec le dom
Publié : 29 mai 2007, 15:40
Bonjour,
je fais un petit script pour "feuilleter des images" :
http://www.alexandreleray.com/_trucs/fe ... est_2.html
celui-ci marche à peu prêt mais j'essayer de l'améliorer pour avoir plusieurs séries d'images dans une même page. La méthode consiste à placer des div avec la classe "feuilletage", ensuite on balance toutes les images dedans.
Dans un premier temps le script repère tous les éléments avec la classe "feuilletage", puis il donne des attributs de style et de comportement (rollover rollout) aux images pour qu'elles se chevauchent. ça donne un truc du style :
ensuite lorsqu'on va en rollover sur une image, le script modifie avec le dom la position des images suivantes.
J'aimerais maintenant que lorsqu'on va en rollover sur une image il répercute un changement de position sur les suivantes du div conteneur. Idem en rollout pour rétablir. Problème j'ai essayé un truc du style :
Mais nextSibling me renvoit un node de type Text.
Donc comment faire ? Précision superflue sans doute mais c'est HYPER urgent
Merci
Message envoyé avec : Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en; rv:1.8.0.4) Gecko/20060613 Camino/1.0.2 (MultiLang)
je fais un petit script pour "feuilleter des images" :
http://www.alexandreleray.com/_trucs/fe ... est_2.html
celui-ci marche à peu prêt mais j'essayer de l'améliorer pour avoir plusieurs séries d'images dans une même page. La méthode consiste à placer des div avec la classe "feuilletage", ensuite on balance toutes les images dedans.
Dans un premier temps le script repère tous les éléments avec la classe "feuilletage", puis il donne des attributs de style et de comportement (rollover rollout) aux images pour qu'elles se chevauchent. ça donne un truc du style :
Code : Tout sélectionner
function vignettes(){
serie = document.getElementsByClassName("feuilletage"); // repère tous les éléments de classe feuilletage
for (var i=0;i<serie.length;i++){
images = serie[i].getElementsByTagName("img"); // liste des images du document
for (var j=0;j<images.length;j++){
images[j].setAttribute("style","position:absolute"); // affecte l'attribut
images[j].setAttribute("onmouseover","decaler(this);"); // affecte l'attribut
images[j].setAttribute("onmouseout","retablir(this);"); // affecte l'attribut
images[j].style.left=(j*decalage)+margeGauche+"px";
}
}
}
J'aimerais maintenant que lorsqu'on va en rollover sur une image il répercute un changement de position sur les suivantes du div conteneur. Idem en rollout pour rétablir. Problème j'ai essayé un truc du style :
Code : Tout sélectionner
function decaler(imageActuelle){ // décaler les images suivantes
var lImage = imageActuelle;
while(lImage.nextSibling.tagName == "img") {
lImage.nextSibling.left=parseInt(lImage.style.left)+lImage.nextSibling.width-decalage+"px"
lImage = lImage.nextSibling;
}
}
Donc comment faire ? Précision superflue sans doute mais c'est HYPER urgent

Merci
Message envoyé avec : Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en; rv:1.8.0.4) Gecko/20060613 Camino/1.0.2 (MultiLang)