xavier230573
Messages postés47Date d'inscriptionsamedi 10 avril 2004StatutMembreDernière intervention17 février 2009
-
25 juil. 2008 à 21:53
xavier230573
Messages postés47Date d'inscriptionsamedi 10 avril 2004StatutMembreDernière intervention17 février 2009
-
13 août 2008 à 06:10
bonjour voila
j ai ce javascript qui fonctionne avec php et une base de donnée .il fonctionne tres bien .j etais content , mais, il y a un mais .j ai instalé Mozilla Firefox qui ne ne le fait pas fonctionner correctement .donc les utilisateur de mozila firefoxe ne pouront.pas voir correctemement mon site .qu est ce que je peus faire pour qu il fonctione . qu elles sont les modifs à faire pour que Mozilla Firefox le face fonctionner bien ou doit il etre recoder (si une bonne âme ).j utilise ce menu deroulant sur mon site merci pour votre aide.
| dTree 2.05 | www.destroydrop.com/javascript/tree/ |
|---------------------------------------------------|
| Copyright (c) 2002-2003 Geir Landrö |
| |
| This script can be used freely as long as all |
| copyright messages are intact. |
| |
| Updated: 17.04.2003 |
// Adds the empty and line icons
dTree.prototype.indent = function(node, nodeId) {
var str = '';
if (this.root.id != node.pid) {
for (var n=0; n<this.aIndent.length; n++)
str += '';
(node._ls) ? this.aIndent.push(0) : this.aIndent.push(1);
if (node._hc) {
str += '[javascript: ' + this.obj + '.o(' + nodeId + '); ]';
} else str += '';
}
return str;
};
// Checks if a node has any children and if it is the last sibling
dTree.prototype.setCS = function(node) {
var lastId;
for (var n=0; n<this.aNodes.length; n++) {
if (this.aNodes[n].pid == node.id) node._hc = true;
if (this.aNodes[n].pid == node.pid) lastId = this.aNodes[n].id;
}
if (lastId==node.id) node._ls = true;
};
// Returns the selected node
dTree.prototype.getSelected = function() {
var sn = this.getCookie('cs' + this.obj);
return (sn) ? sn : null;
};
// Highlights the selected node
dTree.prototype.s = function(id) {
if (!this.config.useSelection) return;
var cn = this.aNodes[id];
if (cn._hc && !this.config.folderLinks) return;
if (this.selectedNode != id) {
if (this.selectedNode || this.selectedNode==0) {
eOld = document.getElementById("s" + this.obj + this.selectedNode);
eOld.className = "node";
}
eNew = document.getElementById("s" + this.obj + id);
eNew.className = "nodeSel";
this.selectedNode = id;
if (this.config.useCookies) this.setCookie('cs' + this.obj, cn.id);
}
};
// Toggle Open or close
dTree.prototype.o = function(id) {
var cn = this.aNodes[id];
this.nodeStatus(!cn._io, id, cn._ls);
cn._io = !cn._io;
if (this.config.closeSameLevel) this.closeLevel(cn);
if (this.config.useCookies) this.updateCookie();
};
// Open or close all nodes
dTree.prototype.oAll = function(status) {
for (var n=0; n<this.aNodes.length; n++) {
if (this.aNodes[n]._hc && this.aNodes[n].pid != this.root.id) {
this.nodeStatus(status, n, this.aNodes[n]._ls)
this.aNodes[n]._io = status;
}
}
if (this.config.useCookies) this.updateCookie();
};
// Opens the tree to a specific node
dTree.prototype.openTo = function(nId, bSelect, bFirst) {
if (!bFirst) {
for (var n=0; n<this.aNodes.length; n++) {
if (this.aNodes[n].id == nId) {
nId=n;
break;
}
}
}
var cn=this.aNodes[nId];
if (cn.pid==this.root.id || !cn._p) return;
cn._io = true;
cn._is = bSelect;
if (this.completed && cn._hc) this.nodeStatus(true, cn._ai, cn._ls);
if (this.completed && bSelect) this.s(cn._ai);
else if (bSelect) this._sn=cn._ai;
this.openTo(cn._p._ai, false, true);
};
// Closes all nodes on the same level as certain node
dTree.prototype.closeLevel = function(node) {
for (var n=0; n<this.aNodes.length; n++) {
if (this.aNodes[n].pid == node.pid && this.aNodes[n].id != node.id && this.aNodes[n]._hc) {
this.nodeStatus(false, n, this.aNodes[n]._ls);
this.aNodes[n]._io = false;
this.closeAllChildren(this.aNodes[n]);
}
}
}
// Closes all children of a node
dTree.prototype.closeAllChildren = function(node) {
for (var n=0; n<this.aNodes.length; n++) {
if (this.aNodes[n].pid == node.id && this.aNodes[n]._hc) {
if (this.aNodes[n]._io) this.nodeStatus(false, n, this.aNodes[n]._ls);
this.aNodes[n]._io = false;
this.closeAllChildren(this.aNodes[n]);
}
}
}
// Change the status of a node(open or closed)
dTree.prototype.nodeStatus = function(status, id, bottom) {
eDiv = document.getElementById('d' + this.obj + id);
eJoin = document.getElementById('j' + this.obj + id);
if (this.config.useIcons) {
eIcon = document.getElementById('i' + this.obj + id);
eIcon.src = (status) ? this.aNodes[id].iconOpen : this.aNodes[id].icon;
}
eJoin.src = (this.config.useLines)?
((status)?((bottom)?this.icon.minusBottom:this.icon.minus):((bottom)?this.icon.plusBottom:this.icon.plus)):
((status)?this.icon.nlMinus:this.icon.nlPlus);
eDiv.style.display = (status) ? 'block': 'none';
};
// [Cookie] Clears a cookie
dTree.prototype.clearCookie = function() {
var now = new Date();
var yesterday = new Date(now.getTime() - 1000 * 60 * 60 * 24);
this.setCookie('co'+this.obj, 'cookieValue', yesterday);
this.setCookie('cs'+this.obj, 'cookieValue', yesterday);
};
// [Cookie] Gets a value from a cookie
dTree.prototype.getCookie = function(cookieName) {
var cookieValue = '';
var posName = document.cookie.indexOf(escape(cookieName) + '=');
if (posName != -1) {
var posValue = posName + (escape(cookieName) + '=').length;
var endPos = document.cookie.indexOf(';', posValue); if (endPos !-1) cookieValue unescape(document.cookie.substring(posValue, endPos));
else cookieValue = unescape(document.cookie.substring(posValue));
}
return (cookieValue);
};
// [Cookie] Returns ids of open nodes as a string
dTree.prototype.updateCookie = function() {
var str = '';
for (var n=0; n<this.aNodes.length; n++) {
if (this.aNodes[n]._io && this.aNodes[n].pid != this.root.id) {
if (str) str += '.';
str += this.aNodes[n].id;
}
}
this.setCookie('co' + this.obj, str);
};
// [Cookie] Checks if a node id is in a cookie
dTree.prototype.isOpen = function(id) {
var aOpen = this.getCookie('co' + this.obj).split('.');
for (var n=0; n<aOpen.length; n++)
if (aOpen[n] == id) return true;
return false;
};
// If Push and pop is not implemented by the browser
if (!Array.prototype.push) {
Array.prototype.push = function array_push() {
for(var i=0;i<arguments.length;i++)
this[this.length]=arguments[i];
return this.length;
}
};
if (!Array.prototype.pop) {
Array.prototype.pop = function array_pop() {
lastElement = this[this.length-1];
this.length = Math.max(this.length-1,0);
return lastElement;
}
};
ggtry
Messages postés417Date d'inscriptionvendredi 13 juin 2008StatutMembreDernière intervention21 juillet 20101 25 juil. 2008 à 23:45
Bonsoir,
Peux-tu être plus précis ? Ton code est un peu long et pénible à lire...
Est-ce que la Console d'erreur de Firefox (dans le menu "Outils", "Console d'erreurs") dit quelque chose ? Et si elle ne dit rien, quelle est la différence entre l'affichage dans IE et dans Firefox ?
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 26 juil. 2008 à 07:59
Bonjour,
>>Peux-tu être plus précis ? Ton code est un peu long et pénible à lire...
ggtry++
et on n'a en plus, pas ce qu'il faut pour tester
>>j' utilise ce menu deroulant sur mon site
t'aurais pu prendre un truc plus simple !
en général : html + css suffisent !!!
au pire 3 lignes de javascript ( pour versions anciennes de navigateurs )
xavier230573
Messages postés47Date d'inscriptionsamedi 10 avril 2004StatutMembreDernière intervention17 février 2009 26 juil. 2008 à 09:17
firefox me décale les liens
>>j' utilise ce menu deroulant sur mon site
t'aurais pu prendre un truc plus simple !
en général : html + css suffisent !!!
au pire 3 lignes de javascript ( pour versions anciennes de navigateurs )
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 26 juil. 2008 à 09:34
>>je suis pret à tous entendre ou voir
quand on aura toutes les billes pour voir ce que tu veux faire !
mais des menus déroulants.... foultitude ( de tout type ) sur CodesSources !
je ne vais pas tous te les citer... déjà par "menu déroulant"
on peut entendre ou voir n'importe quoi
menu accordéon, ménu horizontal, menu vertical,
menu multi-niveaux, menu escamotable....
xavier230573
Messages postés47Date d'inscriptionsamedi 10 avril 2004StatutMembreDernière intervention17 février 2009 26 juil. 2008 à 10:30
oui je saiis qui en a une multitude mais mois c 'est un menu déroulant (plugin) que j'ai utilisé pour une autre aplication va allez voir cette adresse et vous comprendrai le broblème .
http://aquacorail.fr/e107_plugins/dtree_menu/dtree_menu.php
non moi je veus résoudre le problème de ce menu de le modifier ajouter ou suprimer des choses pour qu il me pésente le menu comme explorer le présente c'est tous .
ggtry
Messages postés417Date d'inscriptionvendredi 13 juin 2008StatutMembreDernière intervention21 juillet 20101 26 juil. 2008 à 12:54
Bonjour,
En effet, Firefox n'affiche pas du tout la même chose...
Franchement, avant de regarder du côté du javascript, tu devrais nettoyer un peu l'html de ta page.
Le validateur w3c (http://validator.w3.org/) trouve 42 erreurs. Entre autres tu ouvres deux fois le body, mais il n'est jamais fermé. Tu as aussi des problèmes de balisage dans la partie qui semble s'occuper de ton menu avec le javascript. Il y a aussi quelques erreurs de css.
Firefox est souvent (avec raison je pense) plus exigent que IE. Les erreurs de balisage ont une certaine chance d'être la source de ton problème.
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 26 juil. 2008 à 13:15
@ggtry...
>>Firefox est souvent plus exigent que IE.
sans raison souvent, je pense ( rien que pour $%%$ù*$ù le monde ! )
<hr /> Cordialement Bul [mon Site] [M'écrire]
xavier230573
Messages postés47Date d'inscriptionsamedi 10 avril 2004StatutMembreDernière intervention17 février 2009 26 juil. 2008 à 13:36
vous avez bien cliqué sur dtree_menu
vous voyez le résultat
quest ce que je peus faire pour remedier à ça
car, je voulai faire d autre animation comme ça
xavier230573
Messages postés47Date d'inscriptionsamedi 10 avril 2004StatutMembreDernière intervention17 février 2009 26 juil. 2008 à 14:55
tu as cliqué sur le lien que j ai donnée et tu arrive sur des images bleu et blanc avec des croix et en haut ça [javascript: d.openAll(); DT_LAN_54] | [javascript: d.closeAll(); DT_LAN_55]DT_LAN_56 ouvrir fermer si cest ça tu est au bonne endroi .Ouvre avec explorer et tu comprendra ce que je voulai faire .
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 26 juil. 2008 à 15:11
et c'est trop compliqué à expliquer en français ?
plutôt que d'obliger à faire je ne sais combien de manoeuvres
mal expliquées, avant de découvrir probablement un machin que
je serais obligé de décortiquer ( avec tout ce que ça entraîne.... ) ?
j'ai encore fait l'effort... mais qu'est-ce que ça a à voir avec un menu ?
on clique sur un lien, ça affiche je ne sais quoi, je ne sais où....
il faut cerner ton souci un peu mieux et nous dire ce qui plante,
ce qui ne fonctionne pas, nous en faire l'extrait, et pas nous coller
un url, en disant démerdez-vous....
ggtry
Messages postés417Date d'inscriptionvendredi 13 juin 2008StatutMembreDernière intervention21 juillet 20101 26 juil. 2008 à 17:07
Apparemment, align venait contrarier dans Firefox le vertical-align défini pour les img dans le css, qui n'était donc plus pris en compte.
Si ça marche, tant mieux.
Cela dit, si tu peux aussi nettoyer un peu ton html dans la foulée, ce ne sera pas plus mal.