AFFICHER OU CACHER UN COMPOSANT AVEC JAVASCRIPT V1.0
cs_Kimjoa
Messages postés262Date d'inscriptionvendredi 6 mai 2005StatutMembreDernière intervention19 septembre 2014
-
6 mars 2010 à 09:30
jdmcreator
Messages postés647Date d'inscriptionsamedi 30 décembre 2000StatutMembreDernière intervention20 juillet 2012
-
20 mars 2010 à 15:10
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
jdmcreator
Messages postés647Date d'inscriptionsamedi 30 décembre 2000StatutMembreDernière intervention20 juillet 20127 20 mars 2010 à 15:10
"garder le développeur de bonne humeur car le développement javascript devient facile"
Ça déepnd de chaque développeur. Je n'ai jamais été capable d'utiliser un framework genre JQuery, Prototype.JS car je n'ai pas l'impression d'avoir le contrôle ^^ Je préfère écrire mes scripts moi-même
Le seul framework que j'ai déjà utiliser est SoundManager2 ---> Script exceptionnel
jdmcreator
Messages postés647Date d'inscriptionsamedi 30 décembre 2000StatutMembreDernière intervention20 juillet 20127 20 mars 2010 à 15:08
Oups... désolé... je n'avais pas vu ton message en haut ;)
cs_Kimjoa
Messages postés262Date d'inscriptionvendredi 6 mai 2005StatutMembreDernière intervention19 septembre 2014 19 mars 2010 à 16:48
"CODE EN DOUBLON qui ne sert à rien selon la communauté"
+1 !
"je garderai dorénavant mes scripts...trop écoeuré de la mentalité sur ce site"
Non mais lol, tu tend le bâton pour te faire battre et viens te plaindre ensuite !!
"je n'avais pas demandé de passer devant un jury, ce script devait juste servir aux newbies"
Je répète ce que j'ai dit, le newbie à besoin de base solid si ils veulent évoluer dans le language, si tu respectes pas la mise en forme avec les css, et leur fournit une fonction seulement pour des div, tu leurs rends pas service.
"POUR INFO, j'utilise JQuery et Prototype...donc pas besoin de me faire un cours dont je connais déjà le contenu"
Lol ba regarde les fonctions du même type dans prototype et jquery, ont en reparlera après !
"Ramener sa science auprès des autres n'a jamais rien amené de bon.."
Voilà ce que ca donne quand on est tros fière pour accepter la critique. On s'en prend aux autres, alors que ceux-ci veulent seulement t'aider.
crazygogo
Messages postés135Date d'inscriptionsamedi 18 janvier 2003StatutMembreDernière intervention17 avril 2009 19 mars 2010 à 14:18
je sais bien, c'est la suite de mon message juste au dessus !
qu'est-ce que 25Ko de nos jours ? pour assurer la compatibilité tous navigateurs + la légèreté de tous le code qui sera développé sans avoir à ré-écrire des fonctions qui existent déjà + garder le développeur de bonne humeur car le développement javascript devient facile ?
LOL :)
jdmcreator
Messages postés647Date d'inscriptionsamedi 30 décembre 2000StatutMembreDernière intervention20 juillet 20127 19 mars 2010 à 13:41
Là, c'est du JQuery ;) Ça ne fonctionnera jamais si l'on a pas JQuery (25KO)
crazygogo
Messages postés135Date d'inscriptionsamedi 18 janvier 2003StatutMembreDernière intervention17 avril 2009 19 mars 2010 à 10:22
pourquoi se casser la tête à ré-inventer la roue ????
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 201117 19 mars 2010 à 09:51
Bonjour,
Tu as une notion de communauté qui me laisse un peu rêveur, en effet 3 intervenants, si l'on excepte les inutiles requérant plus de 100ko pour afficher Hello world, sur un potentiel de plusieurs milliers alors...
Concernant ta remarque <! je pensais que la la mentalité s'était améliorée sur ce site !> je te renvoi à ce que je viens d'écrire ci dessus.
Les commentaires restent néanmoins judicieux et pointent sur la difficulté de mettre un script satisfaisant le plus grand nombre.
Il n'empêche aussi que certains scripts sont portables et d'autres résolvent des problèmes ponctuel comme le tien, et les deux cohabitent sur ce site.
Il ne faut pas être pour l'un ou pour l'autre de façon hautaine quoiqu'il arrive les deux sont nécessaires.
Je pense que c'est ta façon d'aborder la chose qui t'as valu le ton de certaines remarques.
Enfin il reste dommageable que tu la supprimes, il y a d'ailleurs un commentaire laconique mais encourageant de la part de djamel28dz qui montre sont utilité.
Maintenant tu es libre, bien évidement, de faire ce que tu souhaites...
...quoiqu'il arrives bonne continuation.
M'enfin qui suis je pour juger ?
;O)
djamel28dz
Messages postés4Date d'inscriptionvendredi 26 février 2010StatutMembreDernière intervention 8 mars 2010 8 mars 2010 à 10:35
Merci
cs_Kimjoa
Messages postés262Date d'inscriptionvendredi 6 mai 2005StatutMembreDernière intervention19 septembre 2014 7 mars 2010 à 13:44
daccord avec kazma, c'est vue et revue. Moi j'aurais dit Mootools pawa :).
Sinon quand on programme en js et html , on essaye de le faire bien.
On évite d'écrire le css dans une balise. Si un débutant essaye ton script , et si lui à respecter cette règle il fait quoi? Il s'énerve devant son pc , comme toi tu viens de le faire.
De plus, si ce même débutant utilise un display 'inline' pour un span , ou 'inline-block', il fait quoi?
Bref on a bien compris que tu cherchais a faire simple, mais faut aussi chercher a faire fonctionnel non?
crazygogo
Messages postés135Date d'inscriptionsamedi 18 janvier 2003StatutMembreDernière intervention17 avril 2009 7 mars 2010 à 10:39
crazygogo
Messages postés135Date d'inscriptionsamedi 18 janvier 2003StatutMembreDernière intervention17 avril 2009 7 mars 2010 à 10:21
Jquery pawa !
@karamel
Messages postés1855Date d'inscriptionvendredi 9 mai 2008StatutModérateurDernière intervention18 avril 2024153 6 mars 2010 à 21:00
je sais par pouquoi tu t'emporte c'est sur sa marche bien mais par rapport a ce que je disait ca impose des contraintes et je le repete c'est plus une snipet qu'autre chose?
ce script c'est du banal de chez banal, du vue et revue.
jdmcreator
Messages postés647Date d'inscriptionsamedi 30 décembre 2000StatutMembreDernière intervention20 juillet 20127 6 mars 2010 à 19:59
C'est que dans ton script, si tu caches une balise puis que tu la réouvres, il y aura un saut de ligne après.
Ce bug est réglé beaucoup plus facilement avec leur code ;)
xloadx
Messages postés28Date d'inscriptionsamedi 15 mai 2004StatutMembreDernière intervention10 septembre 2011 6 mars 2010 à 17:10
Et pour info c quoi l'intérêt de rajouter autant de variables pour arriver au même résultat que moi ?
Ah oui ça fait super joli et ramène science...mais bon passer 10 lignes pour faire la même chose que 3...vraiment je ne pige pas !!! J'ai peut-être raté un passage ?
Testé sous IE / FF / Safari / Opera / G-Chrome
xloadx
Messages postés28Date d'inscriptionsamedi 15 mai 2004StatutMembreDernière intervention10 septembre 2011 6 mars 2010 à 17:04
Mdrrr c bien se que je disais, des solutions à 170 lignes mini...bon alors je précise en passant que le CSS doit être inclus dans l'argument de l'objet :
Qu'est ce que j'avais dit ?
en mettant juste cela le script fonctionne très bien !!!!!
ET JE LE REDIS, UNE VERSION SIMPLE ACCESSIBLE MEME AUX NOVICES.
@karamel
Messages postés1855Date d'inscriptionvendredi 9 mai 2008StatutModérateurDernière intervention18 avril 2024153 6 mars 2010 à 14:14
autre remarque si le style de l'element au chargement est definit par une feuille de style cela ne fonctionnera pas car style ne pointera pas sur le css mais sur le style de la balise il faut imperativement utiliser getComputedStyle et currentStyle
et comme l'a dit Kimjoa c'est une snippet
cs_Kimjoa
Messages postés262Date d'inscriptionvendredi 6 mai 2005StatutMembreDernière intervention19 septembre 2014 6 mars 2010 à 09:33
bon je viens d eme reveiller :)
var toogleDisplay = function(id, display){
var el = document.getElementById(id),
currentDisplay = getStyle(el, 'display');
cs_Kimjoa
Messages postés262Date d'inscriptionvendredi 6 mai 2005StatutMembreDernière intervention19 septembre 2014 6 mars 2010 à 09:30
c'est plus un snippet.
Comme tu le dit display n'a pas nécessairement comme valeur block;
De plus, si le style de ton élément est dans une css, pour récupérer le display , il faut passé par une méthode spéciale et non via la propriété style.
Donc il te faut une méthode cross-browser pour récupérer le style, plus ajouter un argument à ta fonction pour spécifier le display ou sauvegarder l'état initiale du display sauf si sa valeur est à none;
concernant le style en volà une toute prête.
var getStyle = function(/*DOMObject*/element, /*string*/rule){//peux etre definit en globale car très utilise, aucune dépendance...
var camelRule=rule.replace(/\-(\w)/g, function (strMatch, p1){return p1.toUpperCase();}),//supprime les tiré et met en majuscule la lettre suivante
value = element.style[camelRule];
if (!value){
if(document.defaultView && document.defaultView.getComputedStyle){
value = document.defaultView.getComputedStyle(element, "").getPropertyValue(/*fait l inverse de camelRule*/rule.replace(/[A-Z]/g, function(match){return '-'+match.charAt(0).toLowerCase();}));
}else{//specifique ie
value = element.currentStyle[camelRule] ;
}
}
return value == 'auto' ? undefined : value;
};
pour ta fonction voir ca pourrait donner ca :
var toogleDisplay = function(id, display){
var el = document.getElementById(id),
currentDisplay = getStyle(el, 'display');
20 mars 2010 à 15:10
Ça déepnd de chaque développeur. Je n'ai jamais été capable d'utiliser un framework genre JQuery, Prototype.JS car je n'ai pas l'impression d'avoir le contrôle ^^ Je préfère écrire mes scripts moi-même
Le seul framework que j'ai déjà utiliser est SoundManager2 ---> Script exceptionnel
20 mars 2010 à 15:08
19 mars 2010 à 16:48
+1 !
"je garderai dorénavant mes scripts...trop écoeuré de la mentalité sur ce site"
Non mais lol, tu tend le bâton pour te faire battre et viens te plaindre ensuite !!
"je n'avais pas demandé de passer devant un jury, ce script devait juste servir aux newbies"
Je répète ce que j'ai dit, le newbie à besoin de base solid si ils veulent évoluer dans le language, si tu respectes pas la mise en forme avec les css, et leur fournit une fonction seulement pour des div, tu leurs rends pas service.
"POUR INFO, j'utilise JQuery et Prototype...donc pas besoin de me faire un cours dont je connais déjà le contenu"
Lol ba regarde les fonctions du même type dans prototype et jquery, ont en reparlera après !
"Ramener sa science auprès des autres n'a jamais rien amené de bon.."
Voilà ce que ca donne quand on est tros fière pour accepter la critique. On s'en prend aux autres, alors que ceux-ci veulent seulement t'aider.
19 mars 2010 à 14:18
qu'est-ce que 25Ko de nos jours ? pour assurer la compatibilité tous navigateurs + la légèreté de tous le code qui sera développé sans avoir à ré-écrire des fonctions qui existent déjà + garder le développeur de bonne humeur car le développement javascript devient facile ?
LOL :)
19 mars 2010 à 13:41
19 mars 2010 à 10:22
$('div.showhide,h1').hide();
});
$('#showh1').click(function(){
$('div.showhide,h1').show();
});
$('#toggleh1').click(function(){
$('div.showhide,h1').toggle();
});
pourquoi se casser la tête à ré-inventer la roue ????
19 mars 2010 à 09:51
Tu as une notion de communauté qui me laisse un peu rêveur, en effet 3 intervenants, si l'on excepte les inutiles requérant plus de 100ko pour afficher Hello world, sur un potentiel de plusieurs milliers alors...
Concernant ta remarque <! je pensais que la la mentalité s'était améliorée sur ce site !> je te renvoi à ce que je viens d'écrire ci dessus.
Les commentaires restent néanmoins judicieux et pointent sur la difficulté de mettre un script satisfaisant le plus grand nombre.
Il n'empêche aussi que certains scripts sont portables et d'autres résolvent des problèmes ponctuel comme le tien, et les deux cohabitent sur ce site.
Il ne faut pas être pour l'un ou pour l'autre de façon hautaine quoiqu'il arrive les deux sont nécessaires.
Je pense que c'est ta façon d'aborder la chose qui t'as valu le ton de certaines remarques.
Enfin il reste dommageable que tu la supprimes, il y a d'ailleurs un commentaire laconique mais encourageant de la part de djamel28dz qui montre sont utilité.
Maintenant tu es libre, bien évidement, de faire ce que tu souhaites...
...quoiqu'il arrives bonne continuation.
M'enfin qui suis je pour juger ?
;O)
8 mars 2010 à 10:35
7 mars 2010 à 13:44
Sinon quand on programme en js et html , on essaye de le faire bien.
On évite d'écrire le css dans une balise. Si un débutant essaye ton script , et si lui à respecter cette règle il fait quoi? Il s'énerve devant son pc , comme toi tu viens de le faire.
De plus, si ce même débutant utilise un display 'inline' pour un span , ou 'inline-block', il fait quoi?
Bref on a bien compris que tu cherchais a faire simple, mais faut aussi chercher a faire fonctionnel non?
7 mars 2010 à 10:39
7 mars 2010 à 10:21
6 mars 2010 à 21:00
ce script c'est du banal de chez banal, du vue et revue.
6 mars 2010 à 19:59
Ce bug est réglé beaucoup plus facilement avec leur code ;)
6 mars 2010 à 17:10
Ah oui ça fait super joli et ramène science...mais bon passer 10 lignes pour faire la même chose que 3...vraiment je ne pige pas !!! J'ai peut-être raté un passage ?
Testé sous IE / FF / Safari / Opera / G-Chrome
6 mars 2010 à 17:04
Qu'est ce que j'avais dit ?
en mettant juste cela le script fonctionne très bien !!!!!
ET JE LE REDIS, UNE VERSION SIMPLE ACCESSIBLE MEME AUX NOVICES.
6 mars 2010 à 14:14
et comme l'a dit Kimjoa c'est une snippet
6 mars 2010 à 09:33
var toogleDisplay = function(id, display){
var el = document.getElementById(id),
currentDisplay = getStyle(el, 'display');
if(currentDisplay == 'none'){
el.style.display = display || el.style.__originalDisplay || 'block';
}else{
el.style.__originalDisplay = currentStyle;
el.style.display = 'none';
}
}
toujours pas tester, mais ca devrait le faire !
6 mars 2010 à 09:30
Comme tu le dit display n'a pas nécessairement comme valeur block;
De plus, si le style de ton élément est dans une css, pour récupérer le display , il faut passé par une méthode spéciale et non via la propriété style.
Donc il te faut une méthode cross-browser pour récupérer le style, plus ajouter un argument à ta fonction pour spécifier le display ou sauvegarder l'état initiale du display sauf si sa valeur est à none;
concernant le style en volà une toute prête.
var getStyle = function(/*DOMObject*/element, /*string*/rule){//peux etre definit en globale car très utilise, aucune dépendance...
var camelRule=rule.replace(/\-(\w)/g, function (strMatch, p1){return p1.toUpperCase();}),//supprime les tiré et met en majuscule la lettre suivante
value = element.style[camelRule];
if (!value){
if(document.defaultView && document.defaultView.getComputedStyle){
value = document.defaultView.getComputedStyle(element, "").getPropertyValue(/*fait l inverse de camelRule*/rule.replace(/[A-Z]/g, function(match){return '-'+match.charAt(0).toLowerCase();}));
}else{//specifique ie
value = element.currentStyle[camelRule] ;
}
}
return value == 'auto' ? undefined : value;
};
pour ta fonction voir ca pourrait donner ca :
var toogleDisplay = function(id, display){
var el = document.getElementById(id),
currentDisplay = getStyle(el, 'display');
if(currentStyle == 'none'){
el.style = display || el.style.__originalDisplay || 'block';
}else{
el.style.__originalDisplay = currentStyle;
el.style = 'none';
}
}
brute de fonderie à tester. Mais comme quoi c'est pas si simple !
a++