2010-07-22 5 views
3

J'utilise l'appel manuel colorbox comme ceci:Jquery colorbox: initialize galerie cliquez

$('a[rel="example1"]').click(function(event){ 

        event.preventDefault(); 

        $.colorbox({ 
         href: $(this).attr('href'), 
         maxWidth: '90%', 
         initialWidth: '200px', 
         initialHeight: '200px', 
         speed: 700, 
         overlayClose: false 
        }); 
       }); 

Je dois l'utiliser de cette façon afin de ne pas interférer avec un autre plug-in (c'est la seule façon pour moi le faire fonctionner). Le problème est que pendant que le modal apparaît, il n'a pas les autres images ou ancres dans le groupe, donc il n'y a pas d'options "suivant" ou "précédent".

Des idées pour résoudre ce problème?

Répondre

3

Vous pouvez régler manuellement le rel des éléments que vous voulez regrouper lorsque vous appelez colorbox:

$('a[rel="example1"]').click(function(event){ 

    event.preventDefault(); 

    $.colorbox({ 
     href: $(this).attr('href'), 
     maxWidth: '90%', 
     initialWidth: '200px', 
     initialHeight: '200px', 
     speed: 700,    
     overlayClose: false, 
     rel: $(this).attr('rel') 
    }); 
}); 

Modifier

Je ne peu plus creuser dans la source colorbox et la raison pour laquelle il ne fonctionne pas parce que les autres liens qui partagent le même rel n'ont pas eu d'objet de boîte de couleur associé créé pour eux. Les travaux suivants, mais ce n'est pas une jolie bidouille ... et il ne peut pas se déplacer dans vos autres problèmes de plug-ins:

$('a[rel="example1"]').click(function(event){ 

    event.preventDefault(); 

    // Build up the list of related colorbox objects 
    $('a[rel="example1"]').colorbox({ 
     maxWidth: '90%', 
     initialWidth: '200px', 
     initialHeight: '200px', 
     speed: 700,    
     overlayClose: false 
    }); 

    // Open the specific link's colorbox 
    $.colorbox({ 
     href: $(this).attr('href') 
    }); 
}); 
+0

Je suppose que cela fonctionnerait, mais je l'ai essayé et il ne fonctionne pas. Même sur les pages d'exemple fournies avec le téléchargement, cela ne fonctionne pas (si j'utilise un appel manuel). – Matthew

+0

@Matthew: Voir mes modifications pour un hack pour le contourner. Ci-dessus fonctionne dans l'exemple fourni avec la source de colorbox. – Pat

+0

Parfait. Merci beaucoup. Cela a fonctionné sur l'exemple un, et il y avait une seule chose que je devais changer pour ne pas interférer avec l'autre plugin (pour une raison quelconque, la première image/modal d'un groupe a été comptée deux fois). – Matthew

0

Le seul problème est que vous n'avez pas défini le rel propriété pour la boîte de couleur .

3

Ma solution pour créer jQuery colorbox clic:

$(function(){ 
    $('#some-images-container a[rel="gallery"]').live('click', function(){ 
     var $this = $(this); 
     var rel = $this.attr('rel'); 

     // Build colorbox sequence 
     $this.closest('div') // parent container 
      .find('a[rel="'+rel+'"]').colorbox({ // find all matching items & init colorbox on them 
        open: false, // don't open, just init 
        rel: rel // use the rel 
       } 
     }); 

     // Open the specific link's colorbox 
     $this.colorbox({open: true}); 
     return false; // prevent 
    }); 
});