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 :

FadeIn ou animate de background-image avec <body>


Sujet :

jQuery

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 2
    Points : 1
    Points
    1
    Par défaut FadeIn ou animate de background-image avec <body>
    Bonjour tout le monde

    Je débute avec le "Jkiri" ^^ mais j'adore. Cependant je bloque à un endroit.
    Je désire changer le fond de ma page. Celui ci comprend un background-color et un background-image en CSS.

    Par Jquery j'aimerai changer l'ensemble du background avec un petit fadeIn.
    Ce que j'ai reussi sans animation. Un petit clic sur un lien # et paf sa change.
    Cependant pour animer le changement de couleur j'ai du recourir à un plugin (jQuery Color Animations) qui me permet de faire un fadeTo de la couleur initial à la nouvelle simplement :

    backgroundColor est propre au plugin.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $("body").stop().animate({'backgroundColor' : '#710023'},500);
    Cependant je ne trouve pas d'équivalent pour le background-image.
    Et ce qui fonction pour une Div ne fonctionne pas sur body du moins de ce que j'ai pu tester.

    Quelqu'un pourrais t'il me mettre sur une piste pour un fadeTo/fadeIn ou avec animate et opacity sur mon image de fond?

    Pour plus de details :

    JS pour le changement de fond sans animation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $('#style3').click(function(){
            $('body').css({'background-color' : '#005671', 'background-image' : 'url(../img/admin/bg3.png)'});
    JS avec changement animé de background-color :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $('#style2').click(function(){
    	$("body").stop().animate({'backgroundColor' : '#280071'},500);
    	$("body").css({'background-image' : 'url(../img/admin/bg2.png)'});
    });

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Points : 1 418
    Points
    1 418
    Par défaut
    Bonjour,

    Est-ce que ceci pourrait te convenir ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $("body").animate({'opacity' : '0'},500, function() {
        $(this).css({'background-image' : 'url(../img/admin/bg2.png)'})
            .animate({'opacity' : '1'},500);
    });
    devyan


    devYan.

  3. #3
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    L'opacité est une propriété CSS qui s'applique à un élément HTML, donc ce n'est pas possible de modifier l'opacité d'une propriété CSS.

    A part la solution de devyan mais qui s'appliquera à tout le contenu de ta page, il n'y a pas de solution...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, 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
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  4. #4
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci Devyan je suis arrivé a la même conclusion ^^
    cela me rassure. Cependant après quelques petites évolutions voici ce qu'il advint de la partie JS :

    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
     
    	$('.style').click(function(c){
    		clickcount=1;
    		var styleID = ($(this).attr("style_id"));
    		var imageID = 'url(../img/admin/' + ($(this).attr("img_value"));
    		var couleurID = "#" + ($(this).attr("couleur"));
    		$("#bg").animate({'opacity' : '0'},500);
    		setTimeout(function()
    		{	
    			$('body').animate({'backgroundColor' : couleurID},1000);
    			$("#bg").css({'background-image' : "'" + imageID + "'", opacity:0});
    			setTimeout(function()
    			{	
    				$("#bg").animate({opacity:0.99},1000);
    			},500);
    		},500);
    		 $.ajax({
       			type: "POST",
       			url: "php_inc/ajax/change_style.php",
       			data: "style=" + styleID,
    		 });
    		styleID.remove();
    		imageID.remove();
    		couleurID.remove();
    	});
    });
    Autant dire que mon lvl à évolué même si sa reste encore assez basique.

    TOUT fonctionne !!! C'est la fête etc... mais y a qu'avec firefox que je peux faire la fête. Avec Chrome, Safari et Opéra le changement de background image n'est pas appliqué mais si les animations fonctionnent. Si vous avez des pistes, je suis dessus depuis plusieurs jours/nuits, et je ne trouve aucune doc d'une incompatibilité ou de nuances de programmation Jquery (js) selon les navigateurs ...

    please Help :'(

    merci pour vos réponses. Et désolé de mettre si longtemps à répondre.

Discussions similaires

  1. [MooTools] Changement de background image avec Mootools
    Par tikoad dans le forum Bibliothèques & Frameworks
    Réponses: 6
    Dernier message: 29/03/2011, 15h15
  2. Problème de background-image avec plusieurs divs et z-index
    Par thomas-g dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 21/11/2010, 18h49
  3. modifier background-image avec lien
    Par tiesto95 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 23/02/2009, 18h40
  4. [XSLT] background-image avec XSL
    Par sidahmed dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 24/09/2007, 03h40
  5. [WebForms]Probleme de background-image avec firefox
    Par malhivertman1 dans le forum Général Dotnet
    Réponses: 3
    Dernier message: 17/02/2007, 11h43

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