Se connecter / S'enregistrer

Résolu [Javascript] Problème survol images Sage

Solutions (2)
Tags :
  • Javascript
  • Logiciels
  • Dreamweaver
  • Script
  • Programmation
|
Bonjour à tous,

Je travaille sur Sage e-Commerce pour gérer une boutique en ligne (dans notre contexte c'est un logiciel qu'on peut envisager comme un simple FTP), et voilà quasiment une semaine que je me casse la tête sur un script généré par Dreamweaver pour afficher une image en survol d'une autre sur une de mes pages HTML (voir en-dessous). Le Javascript est géré (d'autres scripts marchent sur mes pages), tout a l'air de bien se passer, les aperçus fonctionnent dans tous les navigateurs ainsi que dans l'aperçu de Sage. Mais voilà, une fois que je publie ma page, la partie survol fonctionne mais la 2ème image ne s'affiche pas (quand je tente de l'afficher je me prends une 404 - introuvable). Les images sont bien toutes dans le même répertoire, je n'ai pas fait d'erreur sur leur nom ni rien - et de toute façon ça fonctionne très bien en aperçu... donc au secours, je suis coincée! :cry: 

Voici le code que Dreamweaver m'a généré:

Dans le header:

Citation :
<script language="JavaScript">

function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a)&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a.indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a;}}
}

function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers.document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
</script>



Dans le body, le code pour pré-charger les images:

Citation :
<body onload="MM_preloadImages('Image2.jpg')">


Pour chaque image:

Citation :
<a href="lien" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('Image2','','Ma2emeimage.png',1)"><img src="Ma1ereimage.png" alt="Image1" name="Image1" width="127" height="127" border="0" id="Image1" /></a>


Merci d'avance! :) 
Contenus similaires
Meilleure solution
partage
|
Salut !

Je te conseil de faire ca simplement en css, avec un changement de background au rollOver.

Tu a un exemple ici : http://www.nowcss.com/links/image-rollover-with-css

Inutile de surcharger le document de js quand on peut éviter ;) 

  • Commenter cette solution |
Score
0
òh
òi
|
Salut!

En fait j'ai réussi à résoudre mon problème en indiquant l'url absolue de ma 2ème image à chaque fois. Mais la prochaine fois j'appliquerai tes conseils, c'était bien trop pénible comme ça! Merci beaucoup :) 
  • Commenter cette réponse |

Ce n'est pas ce que vous cherchiez ?

Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS