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

Bibliothèques & Frameworks Discussion :

Déclenchement diaporama sans preload ? [MooTools]


Sujet :

Bibliothèques & Frameworks

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    749
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 749
    Par défaut Déclenchement diaporama sans preload ?
    Bonjour,

    je voudrais utiliser un script basique de diaporama basé sur Mootools 1.2 (cette version car elle est déjà chargée dans le site).
    J'ai vu le code suivant sur cette page :
    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
     
    window.addEvent('domready',function() {
    	/* settings */
    	var showDuration = 3000;
    	var container = $('slideshow-container');
    	var images = container.getElements('img');
    	var currentIndex = 0;
    	var interval;
    	/* opacity and fade */
    	images.each(function(img,i){ 
    		if(i > 0) {
    			img.set('opacity',0);
    		}
    	});
    	/* worker */
    	var show = function() {
    		images[currentIndex].fade('out');
    		images[currentIndex = currentIndex < images.length - 1 ? currentIndex+1 : 0].fade('in');
    	};
    	/* start once the page is finished loading */
    	window.addEvent('load',function(){
    		interval = show.periodical(showDuration);
    	});
    });
    Le souci c'est que j'ai 200 images à charger. Et si j'attends le chargement complet des images pour déclencher le diaporama, on attend très longtemps... (quelques images d'avance ça serait OK mais toutes, c'est trop long…)

    J'ai bien essayé de sortir interval = show.periodical(showDuration); du window.addEvent('load', mais ça ne fonctionne pas.

    Comment faire ça ?

  2. #2
    Membre expérimenté
    Inscrit en
    Décembre 2009
    Messages
    282
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 282
    Par défaut
    Cette ligne ne serait pas fausse ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var container = $('slideshow-container');
    La tu sélectionnes tout les tags slideshow-container ... Je suppose que tu veux sélectionner avec l'identifiant, donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var container = $('#slideshow-container');

    Ensuite, je sais pas si c'est une solution à ton probleme, mais les évenement load() tu peux aussi les utiliser sur des images si je me rappelle bien, un truc comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    var images = container.find('img');
    images.ready(function() {
        // S'exécute quand l'image est finie de charger, la hauteur et la largeur sont donc connues
    });
    Et dernièrement, si c'est un simple diaporama que tu veux faire, il y a vraiment une tonne de plugins qui permettent de le faire en un minimum de ligne. Par exemple jQuery Carousel, dessus tu peux indiquer combien d'images doivent être préchargée !

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    749
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 749
    Par défaut
    Ah je suis embêté pour te répondre…

    Je ne sais pas s 'il y a une erreur dans le script mais il semble tourner sans problème depuis pas mal de temps (il vient de )
    Je n'ai pas réussi à utiliser ton images.ready(function() {

    Pour JQuery, je souhaitais éviter de l'utiliser dans la mesure où le site utilise déjà Mootools 1.2...

  4. #4
    Membre expérimenté
    Inscrit en
    Décembre 2009
    Messages
    282
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 282
    Par défaut
    Ok désolé pour mes réponses, en voyant le $ j'ai cru que c'était du jQuery... donc tout ce que j'ai dit est faux, et je ne connais pas mototools donc je ne peux pas trop t'aider....

    Bonne chance

  5. #5
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut
    Bonjour,

    Le sélecteur ainsi définit recherche un id.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var container = $('slideshow-container');
    Le "#" sert à préciser une class.

    Je n'ai malheureusement pas de réponse à la question. Que donne un .get('tag') d'une image non encore chargée ?

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    749
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 749
    Par défaut
    Citation Envoyé par vermine Voir le message
    Je n'ai malheureusement pas de réponse à la question. Que donne un .get('tag') d'une image non encore chargée ?
    Aucune idée... Comment faire pour te répondre ?

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

Discussions similaires

  1. [PPT-2003] Probleme affectation macro bouton diaporama sans Select
    Par Hollister dans le forum VBA PowerPoint
    Réponses: 1
    Dernier message: 26/08/2011, 19h10
  2. [PHP 5.3] Un diaporama sans rechager la page ?
    Par ultimate_3d dans le forum Langage
    Réponses: 5
    Dernier message: 16/01/2010, 19h51
  3. Déclenchement auto d'une fonction sans intervention humaine
    Par lodan dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 22/03/2007, 18h31
  4. preload d'un diaporama sous flash 8
    Par bukingam dans le forum Flash
    Réponses: 3
    Dernier message: 12/02/2007, 01h09
  5. Créer un diaporama sans Applet
    Par nwarriors dans le forum Applets
    Réponses: 2
    Dernier message: 17/08/2006, 19h54

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