Conflit entre deux js dans une page HTML (inclure plusieurs js) - HTML/CSS - Programmation
Marsh Posté le 28-06-2007 à 13:11:44
Salut,
Edite ton message et mets ton code entre les balises [cpp][/cpp]. C'est illisible. Merci.
Marsh Posté le 28-06-2007 à 13:22:29
Et qu'est ce qui marche pas surtout?
T'as une erreur js? ou rien qui se passe?
Marsh Posté le 28-06-2007 à 14:21:40
Code :
|
En fait ce qui ne marche pas:
Ben si je mets le premier appel de fonction en premier entre les balises <head> </head> c'est le premier trucs qui s'affiche et vice versa. Les deux en même temps ne s'affichent pas...[/code]
Marsh Posté le 28-06-2007 à 16:37:37
Pour les intéressés, il suffisait de mettre des fonctions en fin de js:
par exemple à la fin du menu:
au lieu de cela:
window.onload = function(){object[0] = new Slide(0, "frames" );
}
mettre cela:
function initMenu()
{
object[0] = new Slide(0, "frames" );
}
et dans le zoom:
au lieu de cela:
window.onload = function(){
ym = my+50;
mooz.oigres();
}
mettre cela:
function initZoom()
{
ym = my+50;
mooz.oigres();
}
et dans la page html il fallait mettre mes appels de fuction dans body comme ceci:
<body onload="initMenu();initZoom()">
Marsh Posté le 28-06-2007 à 13:00:44
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 ) 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à