newbie fonction toogle affiche et cache sous Mozilla
5 réponses
pcouas
Bonsoir
J'ai besoin d'une fonction toute simple qui affiche ou masque un
bouton, elle fonctionne sous IE mais pas sous Mozzila, ou est mon
erreur ?
Mon bouton est accessible par son id que je passe en argument
Merci d'avance
Philippe
var ns4=document.layers
var ie4=document.all
var ns6=document.getElementById&&!document.all
function Affiche_Cache(nObjet) {
if(ie4) { // Internet explorer
eval(nObjet).style.visibility =
(eval(nObjet).style.visibility=='visible'?'hidden':'visible');
}
else if(ns4) { // Netscape 4.x
document.eval(nObjet).visibility =
(document.eval(nObjet).visibility=='show'?'hidden':'show');
}
else if(ns6) { // Netscape 6 (mozilla)
var divns6 = getElementById(nObjet);
divns6.style.visibility =
(divns6.style.visibility=='visible'?'hidden':'visible');
}
}
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Olivier Miakinen
J'ai besoin d'une fonction toute simple qui affiche ou masque un bouton, elle fonctionne sous IE mais pas sous Mozzila, ou est mon erreur ?
La principale erreur est là :
var ns4=document.layers var ie4=document.all var ns6=document.getElementById&&!document.all
Dans le code qui suit, tu n'utilises nulle part document.layers ni document.all, il n'y a donc aucune raison de les tester. De plus, il n'y a aucune raison d'appeler ie4 un navigateur qui connaîtrait document.all, ni ns6 un qui ne le connaîtrait pas.
function Affiche_Cache(nObjet) { if(ie4) { // Internet explorer eval(nObjet).style.visibility > (eval(nObjet).style.visibility=='visible'?'hidden':'visible'); } else if(ns4) { // Netscape 4.x document.eval(nObjet).visibility > (document.eval(nObjet).visibility=='show'?'hidden':'show'); } else if(ns6) { // Netscape 6 (mozilla) var divns6 = getElementById(nObjet); divns6.style.visibility > (divns6.style.visibility=='visible'?'hidden':'visible'); } }
Autre erreur : si tu tombes sur un navigateur qui ne connaît pas layers mais qui connaît all et getElementById (Opera par exemple), cette fonction ne fait rien.
À moins que tu ne tiennes absolument à ce que ça fonctionne sur des navigateurs du siècle dernier, je pense que ceci devrait faire l'affaire :
function Affiche_Cache(nObjet) { var element = getElementById(nObjet); element.style.visibility (element.style.visibility == 'visible') ? 'hidden' : 'visible'; }
J'ai besoin d'une fonction toute simple qui affiche ou masque un
bouton, elle fonctionne sous IE mais pas sous Mozzila, ou est mon
erreur ?
La principale erreur est là :
var ns4=document.layers
var ie4=document.all
var ns6=document.getElementById&&!document.all
Dans le code qui suit, tu n'utilises nulle part document.layers ni
document.all, il n'y a donc aucune raison de les tester. De plus,
il n'y a aucune raison d'appeler ie4 un navigateur qui connaîtrait
document.all, ni ns6 un qui ne le connaîtrait pas.
function Affiche_Cache(nObjet) {
if(ie4) { // Internet explorer
eval(nObjet).style.visibility > (eval(nObjet).style.visibility=='visible'?'hidden':'visible');
}
else if(ns4) { // Netscape 4.x
document.eval(nObjet).visibility > (document.eval(nObjet).visibility=='show'?'hidden':'show');
}
else if(ns6) { // Netscape 6 (mozilla)
var divns6 = getElementById(nObjet);
divns6.style.visibility > (divns6.style.visibility=='visible'?'hidden':'visible');
}
}
Autre erreur : si tu tombes sur un navigateur qui ne connaît pas layers
mais qui connaît all et getElementById (Opera par exemple), cette
fonction ne fait rien.
À moins que tu ne tiennes absolument à ce que ça fonctionne sur des
navigateurs du siècle dernier, je pense que ceci devrait faire
l'affaire :
function Affiche_Cache(nObjet) {
var element = getElementById(nObjet);
element.style.visibility (element.style.visibility == 'visible')
? 'hidden' : 'visible';
}
J'ai besoin d'une fonction toute simple qui affiche ou masque un bouton, elle fonctionne sous IE mais pas sous Mozzila, ou est mon erreur ?
La principale erreur est là :
var ns4=document.layers var ie4=document.all var ns6=document.getElementById&&!document.all
Dans le code qui suit, tu n'utilises nulle part document.layers ni document.all, il n'y a donc aucune raison de les tester. De plus, il n'y a aucune raison d'appeler ie4 un navigateur qui connaîtrait document.all, ni ns6 un qui ne le connaîtrait pas.
function Affiche_Cache(nObjet) { if(ie4) { // Internet explorer eval(nObjet).style.visibility > (eval(nObjet).style.visibility=='visible'?'hidden':'visible'); } else if(ns4) { // Netscape 4.x document.eval(nObjet).visibility > (document.eval(nObjet).visibility=='show'?'hidden':'show'); } else if(ns6) { // Netscape 6 (mozilla) var divns6 = getElementById(nObjet); divns6.style.visibility > (divns6.style.visibility=='visible'?'hidden':'visible'); } }
Autre erreur : si tu tombes sur un navigateur qui ne connaît pas layers mais qui connaît all et getElementById (Opera par exemple), cette fonction ne fait rien.
À moins que tu ne tiennes absolument à ce que ça fonctionne sur des navigateurs du siècle dernier, je pense que ceci devrait faire l'affaire :
function Affiche_Cache(nObjet) { var element = getElementById(nObjet); element.style.visibility (element.style.visibility == 'visible') ? 'hidden' : 'visible'; }
YD
La principale erreur est là :
var ns4=document.layers var ie4=document.all var ns6=document.getElementById&&!document.all [...]
Tu as tout à fait raison mais...
À moins que tu ne tiennes absolument à ce que ça fonctionne sur des navigateurs du siècle dernier, je pense que ceci devrait faire l'affaire :
function Affiche_Cache(nObjet) { var element = getElementById(nObjet); element.style.visibility > (element.style.visibility == 'visible') ? 'hidden' : 'visible'; }
Tu as laissé l'erreur du script initial ! Dans cette ligne :
var element = document.getElementById(nObjet);
pas oublier document... Et pour tenir compte d'un récent post