javascript et interf�rence avec d'autres javascript
Bonjour � tous,
je me suis pench� sur un code en open source de chat communautaire qui se nomme AjaxIM, depuis hier j'ai r�ussi � modifier le javascript pour que la connexion soit automatique et qu'il s'adapte sans probl�me � mon programme
mais je me heurte a un dernier probl�me en effet... lorsque je l'int�gre � ma page, il marche parfaitement mais me d�sactiv� tous les autres javascript du site, j'ai un menu d�roulant en javascript qu'il d�sactive, une galerie image en javascript, qu'il d�sactive aussi...
pensez- vous que cela est un lien avec le z-index ( je viens de v�rifier ca n'en a pas l'air ! si jele modifie on obtiens le m�me probleme... ) , ou d'o� cela peut-il venir ?
peut-etre un probl�me de focus() ? je ne connais pas du tout les interf�rence de javascript, si vous pouvez juste me mettre sur des pistes, je ferai les recherches :p
j'ai remarquer en faisant des tests, que si j'enl�ve mon second javascript galerie image, il marche mieux, et si je le laisse, il me fait disparaitre carr�ment tout. il y a donc une sacr� interf�rence entre les deux syst�me... :(
merci de votre avis, si vous avez des questions je suis dans les parages...
Merci, et Bonne journ�e.
B.
je vous met en ligne le code qui se trouve etre la gallerie qui d�sactive mon autre partie, il d�sactive totalement l'AJAX qui sert au chat communautaire...
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
|
var ImageMenu = new Class({
getOptions: function(){
return {
onOpen: false,
onClose: Class.empty,
openWidth: 200,
transition: Fx.Transitions.quadOut,
duration: 400,
open: null,
border: 0
};
},
initialize: function(elements, options){
this.setOptions(this.getOptions(), options);
this.elements = $$(elements);
this.widths = {};
this.widths.closed = this.elements[0].getStyle('width').toInt();
this.widths.openSelected = this.options.openWidth;
this.widths.openOthers = Math.round(((this.widths.closed*this.elements.length) - (this.widths.openSelected+this.options.border)) / (this.elements.length-1))
this.fx = new Fx.Elements(this.elements, {wait: false, duration: this.options.duration, transition: this.options.transition});
this.elements.each(function(el,i){
el.addEvent('mouseenter', function(e){
new Event(e).stop();
this.reset(i);
}.bind(this));
el.addEvent('mouseleave', function(e){
new Event(e).stop();
this.reset(this.options.open);
}.bind(this));
var obj = this;
el.addEvent('click', function(e){
if(obj.options.onOpen){
new Event(e).stop();
if(obj.options.open == i){
obj.options.open = null;
obj.options.onClose(this.href, i);
}else{
obj.options.open = i;
obj.options.onOpen(this.href, i);
}
}
})
}.bind(this));
if(this.options.open){
if($type(this.options.open) == 'number'){
this.reset(this.options.open);
}else{
this.elements.each(function(el,i){
if(el.id == this.options.open){
this.reset(i);
}
},this);
}
}
},
reset: function(num){
if($type(num) == 'number'){
var width = this.widths.openOthers;
if(num+1 == this.elements.length){
width += this.options.border;
}
}else{
var width = this.widths.closed;
}
var obj = {};
this.elements.each(function(el,i){
var w = width;
if(i == this.elements.length-1){
w = width+5
}
obj[i] = {'width': w};
}.bind(this));
if($type(num) == 'number'){
obj[num] = {'width': this.widths.openSelected};
}
this.fx.start(obj);
}
});
ImageMenu.implement(new Options);
ImageMenu.implement(new Events); |