Explication d une fonction

cs_lune2009 Messages postés 12 Date d'inscription vendredi 20 février 2009 Statut Membre Dernière intervention 23 juin 2010 - 25 juin 2009 à 11:21
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015 - 25 juin 2009 à 12:03
 Bonjour

Est ce que qlq un peux m expliquer le role de cette fonction
function toggleReponse(el) {
    var p = document.getElementById(el.id+'_rep');
   
    with (p.style) {     if (display ''|| display 'none')
      display = 'none';
     else
       display = 'block';
    }

Merci

3 réponses

Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
25 juin 2009 à 11:59
Bonjour,

on passe un élément en paramètre (el)
on en prend l'id
on y ajoute _rep
et on teste le style.display de ce nouvel élement ? curieux ?
et.... encore plus curieux :
   si display est absent ou = 'none'.... on le passe à 'none '    
                 sinon                           on le passe à 'block'    

je pense que tu cherches à inverser le display d'un élément ?

var e=document.getElementById(" id de l'élément ");
if  ( e.style.display =='none' )
      e.style.display=='block';
else e.style.display='none';

Cordialement [mon Site] [M'écrire] Bul
0
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015
25 juin 2009 à 12:00
En terme d'utilité je dirais... à rien... en tout cas la comme ça toute seule... je m'expliquerais après... pour ce qui est du code cela équivaut à faire...

function toggleReponse(el) {
var p = document.getElementById(el.id+'_rep');
if (p.style.display ''|| p.style.display 'none') {
p.style.display = 'none';
}
else {
p.style.display = 'block';
}
}

le with(monObj) {} signifie que tous les objet utilisé dans ce block seront des propriété de monObj

un peu de lecture... http://fr.selfhtml.org/javascript/langage/objets.htm#with

et pour savoir ce que cela fait le mieux... c'est de tester... mais à la vu du code ça fera un gros rien du tout

[javascript:void(0); click]

Allez click sur le lien au dessus


Le gars qui a codé cette fonction s'est non seulement planté mais il s'est compliqué la vie il passe un objet en paramètre et se sert de l'id de cet objet pour récupérer un autre objet pour travailler dessus... O_o ...enfin ça ça dépend des besoins faut voir le code d'origine dans lequel il était intégré... par contre ce qui me fait dire que ça sert à rien c'est qu'il regarde si l'objet est affiché et s'il est affiché il l'affiche et s'il est caché il le cache... .. .

Je pense que l'effet recherché c'est ça... .. .

function toggleElement(id) {
var p = document.getElementById(id);
if (p.style.display == 'block') {
p.style.display = 'none';
}
else {
p.style.display = 'block';
}
}

[javascript:void(0); click]

Allez click sur le lien au dessus


@ tchaOo°
0
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015
25 juin 2009 à 12:03
Plus rapide Bul3... .. . :o)

Pour le dernier exemple...

[javascript:void(0); click]

Allez click sur le lien au dessus


Sinon ça marchera pas... .. .

@ tchaOo°
0
Rejoignez-nous