IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

animation avec jquery


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 5
    Par défaut animation avec jquery
    Bonsoir
    (je ne sais pas si je suis bien dans la bonne section n’hésite pas a me le dire.)

    Je m'appel Jérôme et j'ai un petit souci avec une animation que j'ai créer en effet j'aimerai que mon animation s'adapte a l’écran de la personne.

    C'est quelque chose de récurrents sur le forum ce genre de demande mon souci n'est pas vraiment l'adaptation c plus le faite que chaque explorateur internet montre l'animation a sa façon donc pour régler ce souci j'ai créer une règle pour adapter mon animation a la résolution.

    Pour être plus clair:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    26
    27
     
    $(document).ready(function() {
    $.browser.chrome = /chrome/.test(navigator.userAgent.toLowerCase());
    $.browser.msie = /msie/.test(navigator.userAgent.toLowerCase());
     
    if(screen.width==1920||screen.height==1080){
    	/* animation*/
    	if ($.browser.msie) {
    	$(".trianglegauche").animate({left:"510px"},{queue:false, duration:4000, easing:'easeOutBounce'});
    	$(".triangledroite").animate({right:"510px"},{queue:false, duration:4000, easing:'easeOutBounce'});
    		}
    	else if($.browser.mozilla){
    	$(".trianglegauche").animate({left:"500px"},{queue:false, duration:4000, easing:'easeOutBounce'});
    	$(".triangledroite").animate({right:"500px"},{queue:false, duration:4000, easing:'easeOutBounce'});
    	}
    	else if($.browser.chrome){
    	$(".trianglegauche").animate({left:"490px"},{queue:false, duration:4000, easing:'easeOutBounce'});
    	$(".triangledroite").animate({right:"490px"},{queue:false, duration:4000, easing:'easeOutBounce'});
    	}
    	else if($.browser.opera){
    	$(".trianglegauche").animate({left:"498px"},{queue:false, duration:4000, easing:'easeOutBounce'});
    	$(".triangledroite").animate({right:"498px"},{queue:false, duration:4000, easing:'easeOutBounce'});
    	}
    	/* fin animation*/
     
    }
    });
    Mon animation marche très bien pour la résolution 1920 par 1080 pour tout les explorateur.

    Mais si je rajoute :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    else if (screen.width==1440||screen.height==900){
    	/* triangle arrivant de la droite*/
    	if ($.browser.msie) {
    	$(".trianglegauche").animate({left:"50px"},{queue:false, duration:4000, easing:'easeOutBounce'});
    	$(".triangledroite").animate({right:"510px"},{queue:false, duration:4000, easing:'easeOutBounce'});
    		}
    	else if($.browser.mozilla){
    	$(".trianglegauche").animate({left:"30px"},{queue:false, duration:4000, easing:'easeOutBounce'});
    	$(".triangledroite").animate({right:"500px"},{queue:false, duration:4000, easing:'easeOutBounce'});
    	}
    	else if($.browser.chrome){
    	$(".trianglegauche").animate({left:"490px"},{queue:false, duration:4000, easing:'easeOutBounce'});
    	$(".triangledroite").animate({right:"490px"},{queue:false, duration:4000, easing:'easeOutBounce'});
    	}
    	else if($.browser.opera){
    	$(".trianglegauche").animate({left:"498px"},{queue:false, duration:4000, easing:'easeOutBounce'});
    	$(".triangledroite").animate({right:"498px"},{queue:false, duration:4000, easing:'easeOutBounce'});
    	}
    	/* fin triangle arrivant de la droite*/
     
    }
     
    });
    donc code complet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    $(document).ready(function() {
    $.browser.chrome = /chrome/.test(navigator.userAgent.toLowerCase());
    $.browser.msie = /msie/.test(navigator.userAgent.toLowerCase());
     
    if(screen.width==1920||screen.height==1080){
    	/* triangle arrivant de la droite*/
    	if ($.browser.msie) {
    	$(".trianglegauche").animate({left:"510px"},{queue:false, duration:4000, easing:'easeOutBounce'});
    	$(".triangledroite").animate({right:"510px"},{queue:false, duration:4000, easing:'easeOutBounce'});
    		}
    	else if($.browser.mozilla){
    	$(".trianglegauche").animate({left:"500px"},{queue:false, duration:4000, easing:'easeOutBounce'});
    	$(".triangledroite").animate({right:"500px"},{queue:false, duration:4000, easing:'easeOutBounce'});
    	}
    	else if($.browser.chrome){
    	$(".trianglegauche").animate({left:"490px"},{queue:false, duration:4000, easing:'easeOutBounce'});
    	$(".triangledroite").animate({right:"490px"},{queue:false, duration:4000, easing:'easeOutBounce'});
    	}
    	else if($.browser.opera){
    	$(".trianglegauche").animate({left:"498px"},{queue:false, duration:4000, easing:'easeOutBounce'});
    	$(".triangledroite").animate({right:"498px"},{queue:false, duration:4000, easing:'easeOutBounce'});
    	}
    	/* fin triangle arrivant de la droite*/
     
    }
     
    else if (screen.width==1440||screen.height==900){
    	/* triangle arrivant de la droite*/
    	if ($.browser.msie) {
    	$(".trianglegauche").animate({left:"50px"},{queue:false, duration:4000, easing:'easeOutBounce'});
    	$(".triangledroite").animate({right:"510px"},{queue:false, duration:4000, easing:'easeOutBounce'});
    		}
    	else if($.browser.mozilla){
    	$(".trianglegauche").animate({left:"30px"},{queue:false, duration:4000, easing:'easeOutBounce'});
    	$(".triangledroite").animate({right:"500px"},{queue:false, duration:4000, easing:'easeOutBounce'});
    	}
    	else if($.browser.chrome){
    	$(".trianglegauche").animate({left:"490px"},{queue:false, duration:4000, easing:'easeOutBounce'});
    	$(".triangledroite").animate({right:"490px"},{queue:false, duration:4000, easing:'easeOutBounce'});
    	}
    	else if($.browser.opera){
    	$(".trianglegauche").animate({left:"498px"},{queue:false, duration:4000, easing:'easeOutBounce'});
    	$(".triangledroite").animate({right:"498px"},{queue:false, duration:4000, easing:'easeOutBounce'});
    	}
    	/* fin triangle arrivant de la droite*/
     
    }
     
    });
    mes modification marche pour la resolution 1440 sauf (deviné pour qui) ie et opera, avec une résolution de 1440 il ne prend pas compte des valeur que je change pour :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    	if ($.browser.msie) {
    	$(".trianglegauche").animate({left:"50px"},{queue:false, duration:4000, easing:'easeOutBounce'});
    	$(".triangledroite").animate({right:"510px"},{queue:false, duration:4000, easing:'easeOutBounce'});
    		}
    peux importe les valeurs que je mets pour le left sa change rien par contre si je remonte pour la résolution de 1920 et je change la valeur de if($.browser.msie) ...

    il prend en compte pour la résolution 1440 la modification pour une résolution 1920 bref pour ie et opera une résolution 1440=1920 ... donc comment faire pour que ie et opera prenne vraiment en compte la veritable résolution c'est a dire 1440 et non 1920.
    merci d'avance pour votre aide.

  2. #2
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Belgique

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

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Bonjour

    L'usage de jQuery.browser est déconseillé, c'est un "truc" ancien qui ne fonctionne pas correctement et qui va être supprimé de l'API jQuery. Le "sniffing" d'un navigateur est fortement déconseillé et donne des résultats aléatoires.

    On utilise maintenant les "Media Queries" : http://www.w3.org/TR/css3-mediaqueries/

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 5
    Par défaut
    Merci pour votre réponse, en effet je viens de constaté les aléa du $.browser. et je cherchait une alternative, merci pour la doc je viens de jeter un rapide coup d’œil et je suis tombé sur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    @media screen and (device-aspect-ratio: 1280/720) {}
    je pense que ceci est ma solution a mon problème.

    Ou sinon je vais faire d'une autre manière, imposer une taille du body a 768px en width et même si l'animation ne diminuerai pas lorsqu'on réduit la fenêtre au moins elle sera visible sur tout les explorateurs sans que chacun fait à sa sauce.

    En tout cas merci pour la solution je vais la tester, où sinon sa pourra me servir pour plus tard.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. probléme avec le tutoriel menu déroulant animé avec jquery
    Par VIRGINIE87 dans le forum Général Conception Web
    Réponses: 1
    Dernier message: 05/04/2011, 21h02
  2. animation avec jquery
    Par bil123 dans le forum jQuery
    Réponses: 1
    Dernier message: 14/04/2010, 09h32
  3. [Article] Créez un menu animé avec jQuery
    Par Kerod dans le forum jQuery
    Réponses: 6
    Dernier message: 10/02/2010, 20h05
  4. [Article] En-tête animé avec jQuery
    Par Bovino dans le forum jQuery
    Réponses: 5
    Dernier message: 21/04/2009, 14h08
  5. [Article] Menu déroulant animé avec jQuery
    Par freegreg dans le forum jQuery
    Réponses: 0
    Dernier message: 02/03/2009, 23h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo