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 :

Désactiver lien avant chargement complet d'un script


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    616
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 616
    Par défaut Désactiver lien avant chargement complet d'un script
    Bonjour

    avec un lien, j'ouvre une lightbox
    mais si on clic trop vite c'est le href qui prime et donc plus de lightbox mais ouverture de la page du lien

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <a class="lightbox" href="http://www.developpez.net">lien</a>

    pour l'ouverture j'utilise

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    jQuery('a.lightbox').on('click', function(e) {
    e.preventDefault();
    e.stopPropagation();
    olightBox.loadPopup(jQuery(this).attr('rel'));
    return false;
    });
    je pensais pouvoir gérer ça avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    e.preventDefault();
    e.stopPropagation();
    Mais non ...
    je m'en remet à vous
    merci de votre aide

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 212
    Par défaut
    Bonsoir,
    pourquoi ne pas prendre le problème à l'envers et activer le lien une fois la page chargée.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    616
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 616
    Par défaut
    en fait dans ma page , j'ai un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <script language="JavaScript" src="http://monscriptjs.com/script.js"></script>
    qui contient toutes mes fonctions js

    dans le body, il y a le lien

    et dans mon script (script.js) j'ai mis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $(function() {
        $("a").click(function() {
          return false;
        });
      });
    mon souci reste le meme, le lien est actif assez de temps pour cliquer dessus
    avant le chargement complet de mon script js

    je ne vois pas de solution

    merci de votre aide

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    616
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 616
    Par défaut
    J'ai pensé mettre le body en display none
    mais que je le "fadein"
    c'est encore trop tôt et le lien est encore actif

  5. #5
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 212
    Par défaut
    il te faut masquer ton lien, par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a style="display:none" class="lightbox" href="http://www.developpez.net">lien</a>
    et une fois le document chargé l'afficher
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $(function() {
      $('.lightbox').show();
    });
    nota: autant mettre le display:none dans la classe lightbox.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    616
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 616
    Par défaut
    Merci pour votre réponse

    mais j'ai une contrainte : les liens ne peuvent être initialisé en display none

  7. #7
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 212
    Par défaut
    Bizarre comme truc...
    ajoutes dans ce cas l'attribut href au chargement de la page.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $(function() {
      $('.lightbox').attr('href','http://www.developpez.net');
    });
    il faut bien évidement prendre soin de ne pas mettre de lien dans le href de départ.

    En espérant qu'il ny ait pas de contrainte supplémentaire du style, je ne peux voir de href vide

Discussions similaires

  1. image d'attente avant chargement complet d'une page
    Par kamclasse dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 31/01/2009, 14h00
  2. action APRES chargement complet ...
    Par PinGuy dans le forum Delphi
    Réponses: 7
    Dernier message: 06/07/2006, 17h16
  3. récupérer la taille totale d'une image avant chargement
    Par sorenson dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 25/06/2006, 14h50
  4. Réponses: 1
    Dernier message: 06/12/2005, 20h44
  5. A la recherche d'un exemple complet MCD et script final
    Par Loowann dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 03/03/2005, 09h51

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