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 :

LightBox au chargement de la page


Sujet :

JavaScript

  1. #1
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 16
    Par défaut LightBox au chargement de la page
    Bonjour !

    J'utilise des lightboxs à partir du code javascript suivant : lien.

    Les boxs ou boîtes s'ouvrent lorsque l'on clique sur un lien. Or, j'aimerais que la boîte s'ouvre directement au chargement de la page dans le navigateur.

    Je sais qu'il faut utiliser une des méthodes ( ou fonctions ) du code source javascript depuis la balise <body onload="">, mais je comprends pas comment les utiliser ( à priori la méthode start() mais avec quel paramètre ?? )

    Si un codeur calé en javascript pouvait m'aider ça serait super

    Merci d'avance.

  2. #2
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par défaut
    Salut,

    Je te propose une solution mais attention elle touche obligatoirement au code source (problème de licence ?).

    L'idée est d'ajouter une ligne de code dans le fichier source pour appeler une fonction personnelle qui s'appellera splash et qui appellera l'affichage de l'image associée à la balise A que tu choisiras.

    Dans le fichier lightbox.js, ligne 178 modifier ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
                $w(ids).each(function(id){ th[id] = $(id); });
                if (splash) { splash(th); } //LIGNE A AJOUTER
    Dans ton fichier HTML, choisis la balise A relative à l'image que tu souhaites afficher, et affecte lui un id:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <a href="images/image-1.jpg" rel="lightbox" id="imgOnLoad">
    <img ...
    </a>
    Toujours dans ton fichier HTML, ajoute la focntion splash , avant de charger les fichiers JS:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    //CE CODE A AJOUTER...
    <script type="text/javascript">
      function splash(instanceLightBox) {
        instanceLightBox.start($('imgOnLoad'));
      }
    </script>
     
    //... AVANT CELUI-LA !!
    	<script src="js/prototype.js" type="text/javascript"></script>
    	<script src="js/scriptaculous.js?load=effects,builder" type="text/javascript"></script>
    	<script src="js/lightbox.js" type="text/javascript"></script>
    Testé avec IE, FF, Chrome.

    ERE

  3. #3
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 16
    Par défaut
    ça fonctionne parfaitement


    Dans le constructeur de l'objet tu fais appel directement à la méthode start qui permet d'afficher l'image si j'ai bien compris.

    J'essayais de passer un element avec getElementById mais ça ne fonctionnait pas ( du moins je devais mal m'y prendre )

    encore merci !

  4. #4
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par défaut
    Citation Envoyé par motjoy Voir le message
    ça fonctionne parfaitement


    Dans le constructeur de l'objet tu fais appel directement à la méthode start qui permet d'afficher l'image si j'ai bien compris.

    J'essayais de passer un element avec getElementById mais ça ne fonctionnait pas ( du moins je devais mal m'y prendre )

    encore merci !
    La "subtilité" c'est que dans le constructeur il y a une partie du code qui est asynchrone, et qu'on doit attendre la fin de son exécution pour exécuter splash.

    ERE

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

Discussions similaires

  1. Afficher lightbox avant chargement de la page
    Par nicerico dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 06/05/2013, 14h47
  2. lightbox au chargement de la page
    Par Flackou dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 02/09/2008, 00h17
  3. Ouverture d'une photo en lightbox 2s après le chargement de la page
    Par num_a dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 17/12/2007, 09h55
  4. Réponses: 4
    Dernier message: 08/06/2004, 09h01
  5. Attendre la fin du chargement de la page dans un WebBrowser
    Par core1 dans le forum Web & réseau
    Réponses: 5
    Dernier message: 15/06/2003, 04h12

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