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 :

Faire un Fadeout sur un block sans qu'une div child ne soit affectée


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    233
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 233
    Par défaut Faire un Fadeout sur un block sans qu'une div child ne soit affectée
    Bonjour,

    je cherche a effectuer un fadeIn/fadeOut sur #show mais sans que #logo ne soit affecté afin qu'il soit toujours visible

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <div id="header">
    	<div id="show">
    		<div id="logo"></div>
    	</div>
    </div>
    code Javascript/jQuery
    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
     
    function delayImg(nbImages) {
    	setInterval(function() {
    		// Tire un nombre au hasard different de celui actuel
    		randomImg = Math.floor((nbImages)*Math.random())+1;
    		while (currentImg == randomImg) {
    			/* console.log("egalite..., nouveau tirage"); */
    			randomImg = Math.floor((nbImages)*Math.random())+1;	
    			/* console.log("current = "+currentImg+"\nrandom ="+randomImg); */
    		}
    		// fade-In fade-Out sur bandeau
    		$("#show").animate({
    				opacity: 0
    			},250, function(){
    				currentImg = randomImg;
    				$(this).css({'background-image':'url(\'squelettes/images/banniere/image'+randomImg+'.jpg\')'});
    				$(this).animate({opacity: 1}, "normal");
    			});
    		}, 5000);
    }
    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
     
     
    #show{
    	width: 938px;
    	height: 120px;
    	margin-left: 10px;
    	background: url('../images/banniere/image1.jpg') no-repeat;
     
    		-moz-border-radius: 7px;
    		-webkit-border-radius: 7px;
     
    		border: 1px solid #BBB;
    }
     
    #logo{
    	width: 342px;
    	height: 120px;
    	margin: 0 auto;
    	background: url('../images/logo.png') no-repeat;
    }
    Ce qui est marrant c'est que pour une fois çà marche sur IE6 ...

    Une fois ce problème résolu je serais intéressé pour par effectué le fadeOut ou le fadeIn , qu'une fois ou je suis sur que la nouvelle image soit chargée. Des conseils ? merci

  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
    Bonsoir.

    IE ne connaît pas opacity ! Pour IE jQuery utilise filter.

    Si vous soumettez un élément à une animation, la totalité de son contenu subit cette animation. Je ne vois pas comment l'empêcher.

    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
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    233
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 233
    Par défaut
    Salut,

    IE ne connaît pas opacity ! Pour IE jQuery utilise filter.
    et pourtant çà marche avec un .animate({opacity: 1}, "normal");

    Sinon j'ai changé de technique :

    HTML :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <div id="header">
    	<div id="show"></div>
    	<div id="logo"></div>
    </div>
    et le CSS :

    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
     
    #show{
    	width: 938px;
    	height: 120px;
    	/* margin-left: 10px; */
    	background: url('../images/banniere/image1.jpg') no-repeat;
     
    		-moz-border-radius: 7px;
    		-webkit-border-radius: 7px;
     
     
    }
     
    #logo{
    	position: relative;
    	top: -120px;
    	width: 342px;
    	height: 120px;
    	margin: 0 auto;
    	background: url('../images/logo.png') no-repeat;
    }
    Évidement, çà marche sur tous les browsers mais pas sur IE6 ... ou il me reserve la place malgrès le decalage negatif du logo.

    voir ici : http://www.pierredouay.com

Discussions similaires

  1. Réponses: 3
    Dernier message: 18/02/2013, 12h09
  2. Mettre un style sur un tableau particulier dans une div
    Par matbde dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 03/05/2012, 16h30
  3. Réponses: 0
    Dernier message: 15/03/2011, 17h25
  4. [XL-2000] Faire un tri sur un tableau à partir d'une colonne de celui-ci
    Par noobie dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 06/05/2010, 14h28
  5. Réponses: 5
    Dernier message: 03/02/2006, 13h47

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