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 :

JQuery Tools Overlay, le "réactiver" après un unbind()


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut JQuery Tools Overlay, le "réactiver" après un unbind()
    Salut !

    J'essaie de combiner deux scripts de JQuery :
    - L'overlay de JQuery Tools : http://flowplayer.org/tools/overlay/index.html
    - Le sortable de JQuery UI : http://jqueryui.com/demos/sortable/

    J'ai donc une série d'images que je veux pouvoir positionner comme bon me semble. Un clic sur une de ces images déclenche un overlay.
    Le problème : Lorsque l'on déplace une de ces images, l'écouteur de l'overlay se lance. Donc j'aimerais pouvoir le bloquer dans cette condition précise.

    Ce que j'ai déjà fait :

    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
    $(function() {
       $( ".column" ).sortable({
          connectWith: ".column",
          placeholder: 'ui-state-highlight',
          start: function( event, ui ) {
             destroyOverlays();
          },
          stop: function( event, ui ) {
          }
       });
     
       $( ".column" ).disableSelection();
    });
     
    $(function() {
       $( "a[rel]" ).overlay({
          effect: 'apple',
          expose: '#000',
          onBeforeLoad: function() {
             var wrap = this.getOverlay().find( ".contentWrap" );
             wrap.load( this.getTrigger().attr( "href" ) );
          },
       });
    });
     
    function destroyOverlays() {
       $( "a[rel]" ).unbind( 'click' ).removeData( 'overlay' );
    }
    Ce petit morceau fonctionne plutôt bien, sauf qu'il me faudrait réactiver les overlays sur les liens à la fin du déplacement.

    J'ai essayé de recréer l'overlay sur les liens en question avec le même code qu'au-dessus, mais en plus de recréer l'écouteur, ça lance l'overlay ..

    Si quelqu'un a la solution ou une autre idée, ça me serait d'une grande aide.

    Merci !

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    perso je serais passé par un flag bool dans le data de l'objet et un return flag en teste d'entrée de lancement ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Hum .. pardon ?

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    sans unbinder
    dans le data de ton element qui supporte le declenchement de la fonction
    tu colle un data

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $('#obj').data('active', [true / false])
    du coup tu lances ou non la fonction après test sur la data

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $('#obj').click(function(){ if (!$(this).data('active'){return false;}})
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Justement, ce n'est pas moi qui gère le clic sur la photo, mais les deux outils overlay et sortable qui créent un écouteur chacun et s'occupent du clic ..

    J'avais déjà essayé de faire un truc du genre, mais après j'ai un problème avec l'overlay, quand ce n'est pas un écouteur, l'image n'est cliquable qu'une seule fois et après disparait de la page, et qui plus est il n'est pas possible de cette manière d'appeler une page page externe dans l'overlay.

  6. #6
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    J'ai "résolu" le problème en utilisant un autre script pour les overlays :
    http://buckwilson.me/lightboxme/

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

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