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 webkit ne passe pas sous safari.


Sujet :

jQuery

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 24
    Par défaut animation webkit ne passe pas sous safari.
    Bonjour,

    j'ai un petit soucis dans ma fonction jquery où j'attribue à un div $('#DIV') via un click un css contenant une animation webkit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    @-webkit-keyframes BGsize{
     
    	0%{opacity:0;-webkit-transform : scale(0,0);}
    	1%{opacity:0.1;-webkit-transform : perspective(600) rotateY(-90deg) rotateZ(-120deg);}
    	80%{opacity:0.8;-webkit-transform : scale(1.1,1.1);}
    	100%{opacity:1;-webkit-transform : scale(1,1);}
    	}
    je crée une variable contenant les paramètres de l'animation css
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    	var cssObj = {
          '-webkit-animation-name' : 'BGsize',
          '-webkit-animation-duration' : '2s',
       	  '-webkit-transform-style' : 'preserve-3d',
    	'-webkit-animation-direction' : 'normal',
    	'-webkit-animation-iteration-count' : '1'
        }
    et ma fonction qui va chercher une autre image à chaque Click

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
        $(this).css(cssObj).fadeTo(2000,1);
    Alors ça fonctionne sous Chrome ...mais pas sous safari ...

    Alors que d'habitudes toutes les animations webkit passe à la perfection sous safari contrairement aux autres navigateurs ...et là c'est la première fois que j'arrive pas à faire fonctionner une animations css sous safari.


    Merci.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 31
    Par défaut Info supplémentaires
    Salut,

    Tu pourrais fournir le code html s'il te plait.

    Merci.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 24
    Par défaut
    Voilà le code quasi complet manque juste les fichiers externes...

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 31
    Par défaut Fonctionne sur Chrome et Safari
    Salut,

    J'ai regardé un peu ton code, et j'ai "élagué" un peu pour rester sur l'essentiel.
    En faisant cela, je suis arrivé a un code qui fonctionne sur Chrome et Safari.

    Tu peux le tester en appuyant sur le button "Click me" que j'ai placé en haut a droite de la page, voici le code :

    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
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    <html>
    <head>
    <style>
    #BG{
    	position:absolute;
    	/*background-size:contain;*/
    	top:-1px;
    	left:-1px;
    	width:322px;
    	height:482px;
    	opacity:.5;
    	z-index:1;
    	-webkit-transform-style: preserve-3d;
    	-webkit-animation-name:BGsize;
    	-webkit-animation-duration:2s;
    	-webkit-animation-direction:normal;
    	-webkit-animation-iteration-count:1;
    	}	
     
    .BG{
    	position:relative;
    	-webkit-transform-style: preserve-3d;
    	-webkit-animation-name:BGsize;
    	-webkit-animation-duration:2s;
    	-webkit-animation-direction:normal;
    	-webkit-animation-iteration-count:1;
    	}
    @-webkit-keyframes fadeIn{
     
    	from{opacity:0;}
    	to{opacity:1;}
     
    	}	
     
     
    @-webkit-keyframes BGsize{
     
    	0%{opacity:0;-webkit-transform:scale(0,0);}
    	1%{opacity:0.1;-webkit-transform:perspective(600) rotateY(-90deg) rotateZ(-120deg);}
    	80%{opacity:0.8;-webkit-transform:scale(1.1,1.1);}
    	100%{opacity:1;-webkit-transform:scale(1,1);}
     
     
    	}				
    </style>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
     
    <script type="text/javascript" src="http://www.google.com/jsapi?key=VOTRE_CLE"></script>
            <script type="text/javascript">google.load("jquery", "1.7");</script>
    <script type="text/javascript" charset="utf-8">
    //////////------------------Config Wallpaper-----------------------///////////////////
    var meteoDelay = 5000;//delai en ms (5000 = 5s) avant disparition météo
    // Table des walls	| Mettre ici le chemin des images de fond.
    var a = new Array(["images/img1.jpg"],["images/img2.jpg"],["images/img3.jpg"],["images/img4.jpg"]);
    //////////------------------Fin Config Wallpaper-----------------------///////////////////
    $(document).ready(function () {
    	$("#weather").hide();
    	$("#BG").hide();
     
    	$("#Forecast").hide();
    	var d = new String;
    	var e = a.length + 1 ;
    	var i = 0;
    	var cssObj = {
          '-webkit-animation-name' : 'BGsize',
          '-webkit-animation-duration' : '2s',
       	  '-webkit-transform-style' : 'preserve-3d',
    	'-webkit-animation-direction' : 'normal',
    	'-webkit-animation-iteration-count' : '1'
        }
     
    	$('#Button').click(function () {
     
    		if ($("#weather").show = true) {
    			$("#Forecast").show(1500)
    		} else {
    			$("#Forecast").hide()
    		}
    		$("#weather").toggle("slow");
    		$("#Forecast").delay(meteoDelay).fadeToggle("slow");
    		$("#weather").delay(meteoDelay).fadeToggle("slow");
    	});
     
     
    	$('#DayUpdate').bind({click:function () {
     
    		d = a[i];
     
        $('#BG').fadeOut( 1000, function(){
     
        $(this).css( 'background-image', 'url("' + d + '")', 'opacity','0.5', cssObj).fadeTo(1000,1);
     
        });
    		i++;
    		//var h = $('#BG').css('background-image', 'url(' + d + ')').fadeToggle(2000);	
        if (i > e) {$("#BG").hide();i = 0};		
     
            	}
    	});
    });
    (jQuery);
        </script>
        </head>
        <body> 
            <div style="float : right;">
                <input id="Button" type="button"  value="Click me !"/>
                <input id="DayUpdate" type="button"  value="Click me !"/>
            </div>
            <div style=" clear : both;"></div>
            <div id="BG"></div>
            <div id="weather">
                <img id="meteoverlay" src="images/img1.jpg" />
                <div id="WeatherContainer">
                    <div id="temp"class="myfont2">9°</div> <img id="weatherIcon" src=" " />
                    <div id="TextContainer">
                        <div id="HiLo"><span id="temptxt">Températures</span><span id="hi">Max: 10°</span><br /><span id="lo">Min: 4°</span></div>
     
                        <div id="desc" class="myfont">passages Nuageux</div>
                        <div id="city">Paris</div>
                    </div>
                </div>
                <div id="Forecast">
            </div>
        </body>
    </html>

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 24
    Par défaut
    merci de t'être penché sur le problème mais pour moi c'est pareil toujours pas d'anim sous safari :/

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 31
    Par défaut
    Tu as peut-etre une version de safari qui ne gère pas les effets que tu as utilisé

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 24
    Par défaut
    c'est pas la dernière (5.1.2) mais pas trop vieille ...et comme dit j'ai fais des tonnes animations css3 c'est toujours passé ... là je pense que c'est un soucis d'interprétation du javascript nan?

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 31
    Par défaut
    Vérifies que tu n'ais pas d'erreur de javascript. Quel est le comportement exact sous safari ? Rien ne s'affiche quand tu clique ? L'image s'affiche sans animation ?

    J'ai la version 5.0.6 de safari et le script que j'ai posté passe, l'animation se fait sans souci.

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 31
    Par défaut
    Alors, j'ai du nouveau.

    C'est étrange, sur safari (5.0.6) sur mon macbookPro l'animation passe.
    Sur safari (5.1.4) sur mon pc l'animation ne passe plus !

    Je regarde de plus prêt !!

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 24
    Par défaut
    bizarre ... que c'est-il passé depuis la maj de safari ????

    sinon pour repondre à ton avant dernier post ... j'ai juste l'image qui apparait mais sans l'animation comme tu as pu le constater sous PC et Safari 5.1.4

    Même si Apple ne classe pas de la même façon les menaces, les termes « peut conduire à l'éxécution d'un code arbitraire » définissent des bugs que des pirates pourraient en théorie utiliser afin de compromettre un Mac ou le planter à travers un malware. Cependant, Apple indique qu'aucune de ces failles n'a été exploitée réellement. On notera que 62 des 83 vulnérabilités concernent WebKit....
    merci

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 24
    Par défaut
    Bon j'ai du nouveau ... j'ai réussi à faire marché l'animation sous Safari (dernière version).

    c'est assez chaud ... selon comment on mets le code ça marche ou pas alors qu'avant le même code (ci-dessus) fonctionne avec les anciennes version ...enfin bref...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    	@-webkit-keyframes BGsize{
     
    	0%{-webkit-transform:scale(0,0);}
    	10%{-webkit-transform:perspective(600px) rotateY(-90deg) rotateZ(-20deg);}
    	80%{-webkit-transform:scale(1.1,1.1);}
    	100%{-webkit-transform:scale(1,1);}
    	}
    comme cela ça marche....


    alors que comme çela ça ne fonctionne pas ... oO

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    @-webkit-keyframes BGsize{
     
    	0%{opacity:0;-webkit-transform : scale(0,0);}
    	1%{opacity:0.1;-webkit-transform : perspective(600) rotateY(-90deg) rotateZ(-120deg);}
    	80%{opacity:0.8;-webkit-transform : scale(1.1,1.1);}
    	100%{opacity:1;-webkit-transform : scale(1,1);}
    	}

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 31
    Par défaut
    Ce n'est pas la version (5.0.6 ou 5.1.4) qui provoquait un changement de comportement, mais apparemment (de se que j'ai pu lire) safari sur pc à parfois un comportement différent de safari sur mac...

    Enfin... Cela fonctionne c'est l'essentiel !

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 24
    Par défaut
    ok merci en tout cas

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

Discussions similaires

  1. asp:Menu ne fonctionne pas sous safari
    Par CUCARACHA dans le forum ASP.NET
    Réponses: 8
    Dernier message: 31/03/2008, 15h15
  2. Requete qui ne passe pas sous Oracle
    Par MaelstroeM dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 06/09/2007, 17h14
  3. Requete ne passe pas sous Sql 2005
    Par dd16 dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 02/06/2006, 13h03
  4. myform.submit() qui ne passe pas sous IE
    Par narnou dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 20/03/2006, 14h42
  5. un truc qui ne passe pas sous firefox ...
    Par SpaceFrog dans le forum Général JavaScript
    Réponses: 39
    Dernier message: 08/11/2005, 15h59

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