Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > jQuery
jQuery Forum d'entraide sur le framework jQuery. Avant de poster : Tutoriels jQuery, FAQ jQuery, Tous les tutoriels JavaScript, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/12/2011, 21h26   #1
Invité de passage
 
Inscription : mai 2003
Messages : 7
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 7
Points : 0
Points : 0
Par défaut Déclarer une fonction en jQuery?

Bonjour!

Je débute en javascript et jQuery.
J'aimerai réaliser un simple show hide sur un div.

J'arrive facilement à le faire en javascript :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
<script language="javascript">
function showHide(divId)
    {
    if (document.getElementById(divId).style.display=="inline")
        {
        document.getElementById(divId).style.display="none";
        }
    else
        {
        document.getElementById(divId).style.display="inline";
        }
    }
</script>
et j'appelle la fonction avec onClick=showHide('mondiv')

Pour un meilleur effet je voudrais utiliser jQuery, j'arrive à le faire pour un div spécifique :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<script type="text/javascript">
	$(document).ready(function(){
 
	$("div.show").each(function(){
    	     $(this).hide();
        });
 
 
	$('#view').click(
	function(){
		$('#mondivId').fadeToggle("slow","linear");
	});
 
 
});
</script>
Mais j'aimerai comme la fonction javascript créer un fonction qui récupère l'id du div à afficher.
Quelquechose comme :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<script type="text/javascript">
	$(document).ready(function(){
 
	$("div.show").each(function(){
    	     $(this).hide();
        });
 
 
 
	function showHide(divId){
		$('#'+divId).fadeToggle("slow","linear");
	}
 
 
});
</script>
Et j'appelerai ensuite la fonction avec un onclick=showHide('mondiv') mais ça ne fonctionne pas...

J'en profite pour une autre question :
Si au lieu de fadeToggle j'utilise slideDown. Comment savoir "l'état" de mon div? Afin de savoir s'il est déjà dérouler et dans ce cas on utilise slideUp et vice versa

Merci!
ovni est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2011, 23h12   #2
Rédacteur
 
Avatar de danielhagnoul
 
Homme Daniel Hagnoul
Étudiant perpétuel
Inscription : février 2009
Messages : 3 221
Détails du profil
Informations personnelles :
Nom : Homme Daniel Hagnoul
Âge : 61
Localisation : Belgique

Informations professionnelles :
Activité : Étudiant perpétuel
Secteur : Enseignement

Informations forums :
Inscription : février 2009
Messages : 3 221
Points : 6 767
Points : 6 767
Bonsoir

Code :
1
2
3
4
function showHide(divID){
    // http://api.jquery.com/toggle/
    $("#"+divId).toggle();
}
__________________

FAQ jQuery

Mon cahier d’exercices sur jQuery & Co

Si un message vous a aidé ou vous semble pertinent, votez pour lui !
danielhagnoul est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2011, 23h36   #3
Rédacteur/Modérateur
 
Avatar de Macmillenium
 
Homme
Inscription : mars 2008
Messages : 2 290
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 26
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : mars 2008
Messages : 2 290
Points : 3 208
Points : 3 208
Citation:
Envoyé par ovni Voir le message
Et j'appelerai ensuite la fonction avec un onclick=showHide('mondiv') mais ça ne fonctionne pas...
showHide est une fonction privée puisqu'elle est déclarée à l'intérieur d'une fonction anonoyme.
Tu dois la sortir du $(document).ready() si tu veux qu'elle soit visible au niveau global.

Citation:
Envoyé par ovni Voir le message
j'utilise slideDown. Comment savoir "l'état" de mon div? Afin de savoir s'il est déjà dérouler et dans ce cas on utilise slideUp et vice versa
Cf. code donné par Daniel, sauf qu'il faut utiliser la méthode slideToggle() dans ton cas.
__________________
Je ne réponds pas aux questions techniques par MP.
Macmillenium est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h01.


 
 
 
 
Partenaires

Hébergement Web