Bonjour,
Je débute en javascript et j'ai présentement un problème dont je n'arrive pas à trouver la solution... Ca fait déjà un bon moment que j'essais un peu toutes les solutions que je trouve sur différents forum et je n'y arrive pas... Alors voilà je m'explique.
J'ai deux fichiers (js) contenants du code JS (ça va de soit :p ) Les deux codes fonctionnent séparément dans une page html, mais lorsque j'appel les deux fichiers js dans ma page html, c'est soit l'un ou soit l'autre qui marche...
Voici comment j'appel mes js dans ma page html:
<script type="text/javascript" src="js/zoom.js"></script>
<script type="text/javascript" src="js/menu_utram.js"></script>
et ce entre les balises <head></head>.
Voici maintenant le code de mes js:
menu_utram.js:
var object = new Array();
function Slide(N,oCont){
this.N = N;
<!-- arrivée du menu par le haut-->
this.S = -1.1;
<!-- arrivée du menu par le haut-->
this.object = new Array();
this.CObj = function (parent,N){
this.parent = parent;
this.N = N;
this.obj = parent.frm[N];
this.tit = this.obj.firstChild;
this.div = this.obj.getElementsByTagName("div" )[1];
this.div.style.visibility = "hidden";
<!--espacement des section du menu à l'arrivée-->
this.y0 = N * 18;
<!--espacement des section du menu à l'arrivée-->
this.Y1 = this.y0;
this.obj.style.top = this.y0;
this.obj.style.height = parent.H - (parent.NF) * 18-0;
this.obj.style.visibility = "visible";
this.obj.parent = this;
this.run = false;
this.move = function(){
with(this){
dy = (y1-y0)/parent.S;
<!--.1 pour espace en bas de plan du site-->
if(Math.abs(dy)>.1){
<!--.1 pour espace en bas de plan du site-->
y0+=dy;
obj.style.top = Math.round(y0);
setTimeout("object["+parent.N+"].object["+N+"].move();", 16);
} else {
run = false;
if(dy>0)div.style.visibility="hidden";
else if(N>0)parent.object[N-1].div.style.visibility="hidden";
}
}
}
this.obj.onmouseover = function(){
with(this.parent){
if(!run){
run = true;
div.style.visibility="visible";
for(i=0;i<=N;i++){
parent.object[i].y1 = i*18;
parent.object[i].move();
}
for(i=N+1;i<parent.NF;i++){
parent.object[i].y1 = parent.H-(parent.NF-i)*18;
parent.object[i].move();
}
}
}
}
}
this.frm = document.getElementById(oCont);
this.H = parseInt(this.frm.style.height);
this.frm = this.frm.getElementsByTagName("span" );
this.NF = this.frm.length;
for(i=0;i<this.NF;i++) this.object[i] = new this.CObj(this, i);
<!--position des sections-->
this.object[0].obj.onmouseover();
<!--position des sections-->
<!--vitesse d'apparition du menu-->
this.S = 5;
<!--vitesse d'apparition du menu-->
}
window.onload = function(){object[0] = new Slide(0, "frames" );
preload();
}
//-->
<!-- fin java menu karine-->
zoom.js:
var ym=0;
var my=0;
createElement = function(container, type, param){
o=document.createElement(type);
for(var j in param)o[j]=param[j];
container.appendChild(o);
return o;
}
mooz = {
O:[],
/////////
mult:6,
nbI:5,
/////////
rwh:0,
imgsrc:0,
W:0,
B:0,
Xoom:function(M){
this.o = createElement(document.getElementById("zoom" ), "spane", {
'className':'spaneslides'
});
img = createElement(this.o, "img", {
'className':"imgslides",
'src':mooz.imgsrc[M%mooz.imgsrc.length].src
});
spa = createElement(this.o, "spane", {
'className':"imgslides"
});
txt = createElement(spa, "spane", {
'className':"txtslides",
'innerHTML':mooz.imgsrc[M%mooz.imgsrc.length].title
});
this.M = 10000+M;
},
mainloop:function(){
with(this){
for(j=0; j<mooz.nbI; j++) {
O[j].M += (ym-my)/8000;
M = O[j].M%nbI;
ti = Math.pow(mult,M);
with(O[j].o.style){
left = Math.round((W-(ti*rwh))/(W+ti)*(W*.5))+"px";
top = Math.round((B-ti)/(B+ti)*(B*.5))+"px";
zIndex = Math.round(10000-ti*.1);
width = Math.round(ti*rwh)+"px";
height = Math.round(ti)+"px";
}
}
}
setTimeout("mooz.mainloop();", 16);
},
oigres:function(){
with(this){
W = parseInt(document.getElementById("zoom" ).style.width);
B = parseInt(document.getElementById("zoom" ).style.height);
imgsrc = document.getElementById("images" ).getElementsByTagName("img" );
rwh = imgsrc[0].width/imgsrc[0].height;
for(var j=0;j<nbI;j++) O[j] = new Xoom(j);
mainloop();
}
}
}
document.onmousemove = function(e){
if(window.event) e=window.event;
ym = (e.y || e.clientY);
if(ym/2>my)my=ym/2;
}
window.onload = function(){
ym = my+50;
mooz.oigres();
preload();
}
Quelqu'un peut-il m'aider svp... Je commence à perdre patience là :pt1cable: