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

JavaScript Discussion :

Défilement d'images horizontalement


Sujet :

JavaScript

  1. #1
    Membre régulier
    Profil pro
    poireau
    Inscrit en
    Juin 2008
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : poireau

    Informations forums :
    Inscription : Juin 2008
    Messages : 98
    Points : 74
    Points
    74
    Par défaut Défilement d'images horizontalement
    Bonjour
    je souhaite afficher un bandeau d'images (7 images 1100x340px) défilant sans saccades et sans "blanc" et démarrant avec la première image (image1.jpg) déjà en place. Si quelqu'un peut m'orienter vers un script .. bienvenu

    j'en ai essayé plusieurs mais n'en ai pas trouvé avec un défilement "lisse"
    avec MARQUEE scrollamount="1" c'est trop lent et si on accélère , ça saccade et de plus ça démarre sur un "blanc"

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        <div class="element 1"><MARQUEE scrollamount="1">
    <img src="img/image1.jpg" width="1100" height="340" alt=""/>
    <img src="img/image2.jpg" width="1100" height="340" alt=""/>
    <img src="img/image3.jpg" width="1100" height="340" alt=""/>
    <img src="img/image4.jpg" width="1100" height="340" alt=""/>
    <img src="img/image5.jpg" width="1100" height="340" alt=""/>
    <img src="img/image6.jpg" width="1100" height="340" alt=""/>
    <img src="img/image7.jpg" width="1100" height="340" alt=""/>
        </MARQUEE>

    Merci

  2. #2
    Membre chevronné
    Avatar de Archimède
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2005
    Messages
    1 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 644
    Points : 1 975
    Points
    1 975
    Par défaut
    Salut,
    peut-être commencer par ne faire qu'une seule image avec tes photos bout à bout. Faire un tileset...
    Ensuite la faire défiler dans un canvas avec window.requestAFrame. J'avais fait un truc comme ça, il y a quelques années...
    J'ai retrouvé le fichier :
    Code HTML : 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
    <!DOCTYPE html>
    <html lang='fr'>
      <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
        <style>
         #cancan{
          border:1px solid black;
         }
        </style>
      </head>
      <body>
        <canvas id="cancan" width="780" height="170">
         votre navigateur ne supporte pas la balise canvas
        </canvas>
     
      <script type="text/javascript">
           var c = document.getElementById("cancan");
           var ctx = c.getContext("2d");
           var x=-1;  
           var im=new Image();
           im.src='tilsav.png';
     
          window.requestAFrame = (function(){
           return  window.requestAnimationFrame       ||
                   window.webkitRequestAnimationFrame ||
                   window.mozRequestAnimationFrame    ||
                   function( callback ){
                   window.setTimeout(callback,25);  //intervalle timer  25 ms  c'est mieux, ça scintillait...:fps=1/(25/1000)=1000/25=40 frames/s (Hz)
                   };
           })();
     
     
           function draw() { 
             x+=1;
             ctx.drawImage(im,x,0);
             ctx.drawImage(im,x-780,0);
             if (x==780) x=-1;
           }
     
            function render(){
             draw();
             window.requestAFrame(render);
            }
            window.addEventListener('load',render);
     </script>
      </body>
    </html>

    C'est plutôt fluide...
    Images attachées Images attachées  

  3. #3
    Membre régulier
    Profil pro
    poireau
    Inscrit en
    Juin 2008
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : poireau

    Informations forums :
    Inscription : Juin 2008
    Messages : 98
    Points : 74
    Points
    74
    Par défaut défilement
    Bonne pioche !! ça fonctionne plutôt bien .. merci Archimède

  4. #4
    Membre chevronné
    Avatar de Archimède
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2005
    Messages
    1 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 644
    Points : 1 975
    Points
    1 975
    Par défaut
    Merci mais maintenant avec les transitions CSS, on peut faire mieux...

  5. #5
    Membre régulier
    Profil pro
    poireau
    Inscrit en
    Juin 2008
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : poireau

    Informations forums :
    Inscription : Juin 2008
    Messages : 98
    Points : 74
    Points
    74
    Par défaut transitions css
    ok .. mais encore ?
    Si on peut faire mieux ...

  6. #6
    Membre chevronné
    Avatar de Archimède
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2005
    Messages
    1 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 644
    Points : 1 975
    Points
    1 975
    Par défaut
    Regarde plutôt du côté des animation CSS... :
    https://www.w3schools.com/css/css3_animations.asp

  7. #7
    Membre régulier
    Profil pro
    poireau
    Inscrit en
    Juin 2008
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : poireau

    Informations forums :
    Inscription : Juin 2008
    Messages : 98
    Points : 74
    Points
    74
    Par défaut css
    ok , je vais poursuivre le lièvre ..
    merci

  8. #8
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 075
    Points : 44 667
    Points
    44 667
    Par défaut
    Bonjour,
    Citation Envoyé par Archimède
    mais maintenant avec les transitions CSS, on peut faire mieux...
    Mieux je ne sais pas mais je ne résiste pas à l'envie et je te mets ce lien : Diaporama avec défilement automatique, qui te montre également ce que l'on peut obtenir simplement avec les animations CSS.

    Néanmoins dans certains cas l'utilisation du JavaScript peut s'avérer utile !

  9. #9
    Membre chevronné
    Avatar de Archimède
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2005
    Messages
    1 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 644
    Points : 1 975
    Points
    1 975
    Par défaut
    Après, je me souviens qu'en actionscript (flash), on baladait un masque devant un tileset pour les animations... Je ne me suis jamais essayé en javascript... Peut-être, pourrais-tu gagner encore en fluidité avec cette méthode.

  10. #10
    Membre régulier
    Profil pro
    poireau
    Inscrit en
    Juin 2008
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : poireau

    Informations forums :
    Inscription : Juin 2008
    Messages : 98
    Points : 74
    Points
    74
    Par défaut cancan
    Pour l'instant, ce que j'ai trouvé de mieux , de plus fluide , et qui correspond à mes recherches, c'est la grande image avec window.requestAFrame et le code d'Archimède . Ce qui me gène un peu c'est de ne pas pouvoir faire la même chose avec mes 7 (ou plus) images individuelles , ce qui me permettrait de varier plus facilement l'ordre de mon défilement . Là , pour varier, il faut que je fasse plusieurs tileset. Mais, bon c'est quand même pas mal ... Je vais poursuivre vers les CSS car en cherchant, je trouve d'autres choses qui peuvent m'intéresser ..
    merci

  11. #11
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    Et si tu aimes le vintage, je peux te ressortir un script d'archive: http://javatwist.imingo.net/defilim.htm

    L'intérêt c'est de pouvoir travailler avec des tailles d'images aléatoires.

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

Discussions similaires

  1. Défilement d'images horizontalement
    Par Vortexia dans le forum Général JavaScript
    Réponses: 17
    Dernier message: 14/02/2012, 05h29
  2. Défilement d'images de bas en haut dans un tableau
    Par Viper7 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 17/04/2006, 23h18
  3. [FLASH MX2004] Défilement simple images dynamiques
    Par ladybird dans le forum Intégration
    Réponses: 1
    Dernier message: 17/04/2006, 20h29
  4. [FLASH MX2004] Défilement d'images
    Par julien1906 dans le forum Flash
    Réponses: 16
    Dernier message: 02/03/2006, 18h29
  5. [FLASH MX]Ordre de défilement des images
    Par San Soussy dans le forum Flash
    Réponses: 3
    Dernier message: 28/05/2004, 16h37

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