OVH Cloud OVH Cloud

effet de dégradé sur des liens

1 réponse
Avatar
mome
coucou tout le monde,

je cherche à reproduire l'effet qu'on trouve sur ce site en passant la
souris au-dessus des liens
http://www.nancy-guide.net/index.php

le javascript utilisé est là
http://www.nancy-guide.net/scripts/javascript/links.js

très clair, mais je n'arrive pas à le mettre en place sur mon menu...


j'ai dans mon html la structure
<dl id="menu">
<dt>
<dd><a>
<dt>
<dd><a>
</dl>

et j'ai modifié le script comme suit

---------------
début du script
---------------
step = new Array();
dir = new Array();
var r1=255, g1=255, b1=255, r2=255, g2=0, b2=0;
var
Nstep=Math.max(Math.max(Math.abs(r1-r2),Math.abs(g1-g2)),Math.abs(b1-b2));

function preloadMenu(){
if(document.getElementById){
listLien= document.getElementById("menu").getElementsByTagName("a");
for(i=0;i<listLien.length;i++){
listLien[i].id="lien"+i;
step[i]=0;
listLien[i].onmouseover=function(){initMenu(this.id,true);}
listLien[i].onmouseout=function(){initMenu(this.id,false);}
}
}
}
function initMenu(id,sens){
n=eval(id.substring(4,id.length));
dir[n]=sens;

//document.getElementById("lien"+n).style.backgroundColor=sens?"rgb("+r1+","+g1+","+b1+")":"transparent";
incMenu(n, sens);
}
function incMenu(n, sens){
s=step[n]/Nstep;
r=(r1+Math.floor((r2-r1)*s));
g=(g1+Math.floor((g2-g1)*s));
b=(b1+Math.floor((b2-b1)*s));
document.getElementById("lien"+n).style.color="rgb("+r+","+g+","+b+")";
if(step[n]<Nstep && dir[n] || step[n]>0 && !dir[n]){
step[n]+=(dir[n]?+8:-8);
t=setTimeout("incMenu("+"'"+n+"'"+")",20);
}
}
-------------
fin du script
-------------

je devine le fonctionnement du script, mais je ne parviens pas à voir ce
que j'ai oublié de modifier pour pouvoir l'appliquer à mon cas

quelqu'un pour m'aider ?
merci beaucoup

--
mome

1 réponse

Avatar
mome
mome,

quelqu'un pour m'aider ?


pardon pour le bruit, j'avais mal lié le fichier .js
tout fonctionne bien en réalité

bonne nuit :)

--
mome