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 17/01/2012, 22h06   #1
Invité de passage
 
Homme
Inscription : janvier 2012
Messages : 15
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : janvier 2012
Messages : 15
Points : 1
Points : 1
Par défaut animer un titre

Bonsoir, je cherche à animer un titre, rien de plus simple et ce code ne fonctionne pas...
Code :
$('h6').ready(function() { $('h6').animate({top:'100px'});});
Merci d'avance, soyez indulgent !
Dordubre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2012, 08h12   #2
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 808
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 808
Points : 35 787
Points : 35 787
Indulgent je veux bien, mais la première chose que tu pourrais faire serait de lire un minimum de documentation sur l'événement ready() : Qu'est-ce que la notion de Ready ?

Code :
$(document).ready(function() { $('h6').animate({top:'100px'});});
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2012, 09h53   #3
Invité de passage
 
Homme
Inscription : janvier 2012
Messages : 15
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : janvier 2012
Messages : 15
Points : 1
Points : 1
D'accord... mais pourquoi ce simple code :
Code :
$('h6').animate({top :'100px'});
Ne fonctionne pas ?
Dordubre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2012, 10h08   #4
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 071
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 071
Points : 45 201
Points : 45 201
Par ce que tout ce qui est en dehors du ready est interprété avant que la page n'ait fini de chargé, donc il y a de grandes chance que lorsque la ligne est interprétée, ton ou test balises $.('h6') ne soient pas instanciées (n'existent pas)


Un petit exemple pour illustrer:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
<script type='text/javascript'>
alert( $('#test').attr('id') )
 $(document).ready(function(){
alert( $('#test').attr('id') )	
 
})
 </script>
</head>
<body>
<div id="test"></div>
</body>
</html>
la première ligne de code retourne undefined, puisque lorsqu'elle est interprétée (flux de la page) le div n'est pas encore créé :
la seconde retourne bien l'id puisque declarée dans le document.ready, elle en sera interprétée qu'après instanciation de tous les objets de la page (en différé)

Ceci fonctionne également :
Code :
1
2
3
4
<div id="test"></div>
<script type='text/javascript'>
alert( $('#test').attr('id') )
</script>
Puisque le code est interprété après que le div ait été créé
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2012, 11h14   #5
Invité de passage
 
Homme
Inscription : janvier 2012
Messages : 15
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : janvier 2012
Messages : 15
Points : 1
Points : 1
Ok j'ai bien compris mais quelle erreur j'ai faite avec mon 1er code ? ready vérifie que la page est bien chargée, ensuite je lance le animate sur le h6. Vous vous contredisez ou je ne comprend pas ?

Si j'utilise un slideToggle ça fonctionne impec' pourtant... :
Code :
<script type="text/javascript">$(document).ready(function(){$("h6").slideToggle()});
Dordubre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2012, 11h26   #6
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 808
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 808
Points : 35 787
Points : 35 787
Pour animer la propriété top, il faut déjà que l'élément soit positionné... C'est le cas ?

EDIT :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<!DOCTYPE html>
<html>
<head>
	<script src="http://code.jquery.com/jquery-latest.js"></script>
	<script>
	</script>
	<style>
		h2{position: relative;}
	</style>
	<script>
		function anim1(){
			$('h1').animate({top :'100px'});
		}
		function anim2(){
			$('h2').animate({top :'100px'});
		}
	</script>
</head>
<body>
	<h1>Titre 1</h1>
	<h2>Titre 2</h2>
	<button onclick="anim1()">Animer h1</button>
	<button onclick="anim2()">Animer h2</button>
</body>
</html>
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2012, 11h31   #7
Invité de passage
 
Homme
Inscription : janvier 2012
Messages : 15
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : janvier 2012
Messages : 15
Points : 1
Points : 1
Un position relative a regler le probleme ! Mais margin-top ne fonctionne pas avec animate ?

Merci !
Dordubre 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 06h33.


 
 
 
 
Partenaires

Hébergement Web