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 :

Slide les images se superposent


Sujet :

jQuery

  1. #1
    Membre éclairé
    Homme Profil pro
    sans emploi
    Inscrit en
    Février 2014
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : sans emploi
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2014
    Messages : 365
    Par défaut Slide les images se superposent
    Bonjour,

    Je fais appel a une bdd pour faire défiler les images de classe "slide" avec une animation 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
    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
     
    <!DOCTYPE html>
     
    <html>
     
    <head>
     
    <meta charset="UTF-8">
     
    <style type="text/css">
    .slide { position: absolute; left: 0px; top: 200px; }
    #img1 {z-index: 1;}
    #img2 {z-index: 2;}
    #img3 {z-index: 3;}
    #img4 {z-index: 4;}
    #img5 {z-index: 5;}
    </style>
     
    <head>
    <body>
     
    <?php
    try{
    $chaine_connexion='mysql:host=localhost;dbname=images_site';
    $utilisation_UFT8=array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8");	
    $connexion_bdd = new PDO($chaine_connexion, 'root', '', $utilisation_UFT8);	
    $connexion_bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    }
    catch(PDOException $e){
    $msg = 'ERREUR PDO dans ' . $e->getFile() . ' L.' . $e->getLine() . ' : ' . $e->getMessage();
    die($msg);
    }
     
    $sql = 'SELECT * FROM liste_image WHERE slide=?';
    $requete1 = $connexion_bdd ->prepare($sql);
    $requete1->bindValue(1, 'ok', PDO::PARAM_STR);
    $requete1->execute();
    $az=0;
     
    foreach($requete1->fetchAll() as $donnee)
    {
    	$az==$az++;
    	echo utf8_encode('<img src="' . $donnee['type'] . '' . $donnee['numero'] . 'petit.jpg" class="slide" id="img' . $az . '"/>');
    }
    $requete1 -> closeCursor();
    $requete1 = NULL;
    ?>
     
    <script src="jquery.js"></script>
    <script>
    $( function(){ 
     
        var bis = function( ){
            $( '.slide' ).fadeIn( 2000 );
     
            var jObj = $( '.slide:first' );	
     
            jObj.fadeOut( 2000, $.proxy( suivante, jObj ) );
        }
     
     
        var suivante = function( ){
            var jObj = this.next( '.slide' );
     
            if ( jObj.length > 0 ){		
                jObj.fadeOut( 2000, $.proxy( suivante, jObj ) );
            } else {				
                bis();
            }
        }
     
        bis();
    });
    </script>
     
    </body>
     
    </html>
    En regardant le code source de la page, l'appel des images du slide semble fonctionner :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <img src="dessin2petit.jpg" class="slide" id="img1"/>
    <img src="gravure17petit.jpg" class="slide" id="img2"/>
    <img src="monotype 1petit.jpg" class="slide" id="img3"/>
    <img src="gravure41petit.jpg" class="slide" id="img4"/>
    <img src="peinture10petit.jpg" class="slide" id="img5"/>

    Par contre, toutes les images se superposent.
    Avez-vous une solution ?

    Cordialement

  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 : 74
    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
    Code CSS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    .slide { display: none; position: absolute; left: 0px; top: 200px; }
    #img1 {z-index: 1;}
    #img2 {z-index: 2;}
    #img3 {z-index: 3;}
    #img4 {z-index: 4;}
    #img5 {z-index: 5;}

    Code JavaSCript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    var jObjSlides = $( '.slide' ),
        n = jObjSlides.length,
        bis = function( ){
            n = ( --n >= 0 ) ? ( n ) : ( jObjSlides.length - 1 );
     
            jObjSlides.eq( n ).fadeIn( 2000, function(){
                $( this ).fadeOut( 2000, bis );
            });
        };
     
    setTimeout( bis, 2000 );

    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
    sans emploi
    Inscrit en
    Février 2014
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : sans emploi
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2014
    Messages : 365
    Par défaut
    Toutes les images apparaissent en même temps lors du 1er tour ???
    Ensuite: ça marche

  4. #4
    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 : 74
    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
    Citation Envoyé par binco Voir le message
    Toutes les images apparaissent en même temps lors du 1er tour
    Impossible avec le "display:none;" !

    Manifestement, le mettre en rouge n'a servi à rien.

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

  5. #5
    Membre éclairé
    Homme Profil pro
    sans emploi
    Inscrit en
    Février 2014
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : sans emploi
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2014
    Messages : 365
    Par défaut
    Ça marche

    Merci Daniel

    Pouvez vous m'expliquer la ligne
    n = ( --n >= 0 ) ? ( n ) : ( jObjSlides.length - 1 )

    Si n décrémenté est supérieur ou égal à 0 Alors n vaut n Sinon n vaut n-1
    Si le nombre d'image décrémenté est supérieur ou égal à 0 Alors le nombre d'image vaut le nombre d'image Sinon le nombre d'image vaut le nombre d'image moins un

  6. #6
    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 : 74
    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
    Au départ, n = jObjSlides.length, donc il faut retirer 1 pour avoir le nombre d'éléments, c'est la raison du --n.

    On calcule ainsi la bonne valeur pour le démarrage et pour la suite du cycle.

    Si --n (n - 1) est égal ou supérieur à zéro, on garde n, sinon n = jObjSlides.length - 1 (le nombre d'éléments).

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

  7. #7
    Membre éclairé
    Homme Profil pro
    sans emploi
    Inscrit en
    Février 2014
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : sans emploi
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2014
    Messages : 365
    Par défaut
    Daniel y a un truc (subtil) qui m’échappe

    " Au départ, n = jObjSlides.length, donc il faut retirer 1 pour avoir le nombre d'éléments, c'est la raison du --n "

    si j'ai 5 images de classes "slide"
    alors n = jObjSlides.length = 5 donc on a 5 éléments non?
    Donc pourquoi retirer 1 pour avoir le nombre d'éléments (5-1=4 alors qu'on a 5 images)?

  8. #8
    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 : 74
    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
    Numérotation des éléments de 0 à x pas de 1 à Y = x + 1.

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

  9. #9
    Membre éclairé
    Homme Profil pro
    sans emploi
    Inscrit en
    Février 2014
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : sans emploi
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2014
    Messages : 365
    Par défaut Je suis perdu
    Daniel je croix que je me perds

    cas Nbr image .slide eq(index de 0 à x) length(nombre de 1 à x) n-1 (index=length-1)
    cas0 0 image 0 -1
    cas1 1 image 0 1 0
    cas2 2 images 1 2 1
    cas3 3 images 2 3 2
    cas4 4 images 3 4 3
    cas5 5 images 4 5 4

    Si n-1>=0 <=> n>=1 (au moins une image) alors n=n
    Si n-1<0 <=> n<1 ou n=0 (pas d'image) alors n=n-1

Discussions similaires

  1. [D5][SQL Server] Conserver des images dans la BDD
    Par FONKOU dans le forum Bases de données
    Réponses: 8
    Dernier message: 08/06/2008, 19h58
  2. Recherche librairies pour les images
    Par mathieu_t dans le forum Bibliothèques
    Réponses: 3
    Dernier message: 16/08/2004, 21h14
  3. les images dans une base de données
    Par houhou dans le forum Bases de données
    Réponses: 8
    Dernier message: 22/06/2004, 14h27
  4. []filtre sepia pour les images
    Par nabil dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 27/01/2004, 20h41
  5. Des fonctions OGL pour les images de format usuel ?
    Par jamal24 dans le forum OpenGL
    Réponses: 3
    Dernier message: 31/05/2003, 21h59

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