2009-05-25 8 views
3

J'apporte toutes mes images via Ajax, et je cherche une solution rapide pour la partie frontale de ce projet. J'ai essayé quelques plugins jQuery lightbox, mais je n'arrive pas à les faire fonctionner en live (corrigez-moi si je me trompe en pensant que je dois faire ça).

En train d'essayer d'utiliser Lightbox Plugin de Balupton (impossible de lier parce que je suis un nouvel utilisateur), et après avoir essayé tous les exemples en vain, je l'ai essayé avec ceci (ne fonctionne pas):

$('a.lightbox-gallery').live('click', function(){ 
    $(this).lightbox(); 
}); 

Toute aide est très appréciée!

+0

Qu'est-ce que vous essayez de faire et ce qui semble ne pas travailler ? – tvanfosson

+0

Je veux ajouter une fonctionnalité lightbox à toutes les images apportées dans la page via Ajax. Ainsi, de nouvelles images sont chargées dans la page lorsque l'utilisateur clique sur une nouvelle catégorie, et lorsque les images sont cliquées, cela devrait faire apparaître une visionneuse. En ce qui concerne le travail, ce n'est pas le cas. Du tout. Peu importe comment je l'essaie. Essaie actuellement d'utiliser ColorBox (http://colorpowered.com/colorbox/), mais toujours pas de succès. J'ai essayé tous les exemples et j'ai essayé de le mettre en fonction, mais pas de chance. Des idées? – robotmay

+0

En fait, je viens de le réparer. Fiddle avec ColorBox et l'a fonctionné. Je l'exécute dans une fonction chaque fois que les images changent, ce qui ne semble pas fonctionner avec le plugin lightbox précédent mais avec celui-ci. Hourra! – robotmay

Répondre

5

1) vous pouvez pirater le plugin lightbox pour lier les événements en direct 2) vous pouvez appeler lightbox après ajax est terminée, que sur les nouveaux éléments:

$.ajax({ 
    type: "POST", 
    url: "url.php", 
    cache: false, 
    success: function(data){ 
     $(data).find('a[rel=lightbox]').lightbox(settings).end().appendTo('#ajaxTarget'); 
    } 
}); 

Pour settings, vous pouvez utiliser un tableau pour éviter writting même chose deux fois)

4

Vous pouvez utiliser colorbox et la fonction en direct de jquery comme celui-ci

$('a[rel=gallery]').live('click', function() { 
    url = this.href; // this is the url of the element event is triggered from 
    $.colorbox({href: url}); 
    return false; 
}); 
+0

Je pense que ce n'est pas une solution pour le regroupement? – mrzmyr

0

Vous pouvez également jeter un oeil à e e livequery jquery plug-in pas si mauvais plug-in;) http://docs.jquery.com/Plugins/livequery vous pouvez intégrer ce plugin dans votre fichier jquery et l'utiliser comme une simple fonction jquery:

$('.ajax-loaded-element').livequery('click',function(){ 

//do somenthing 

}); 
Questions connexes