2012-05-30 3 views
0

J'ai un plugin jquery qui charge les images de l'album Picasa. Mais quand j'essaie d'ajouter une boîte à lumière, ça ne marche pas. J'ai lu quelque part où nous pouvons utiliser .delegat ou .live ou .on dans jquery quand le contenu est chargé après le chargement de dom. Mais je suis confus.Visionneuse sur les images chargées par jquery depuis picasa

Ceci est le code réel dans le cas normal:

jQuery("#ts-display-portfolio a").prettyPhoto({ 
    animationSpeed:'slow', 
    theme:'facebook', 
    slideshow:2000 
}); 

C'est ce que j'ai essayé de le faire, je crois que son tort: ​​

$(document).delegate(
    "#ts-display-portfolio a", 
    "prettyPhoto", 
    function(){ 
     animationSpeed:'slow', 
     theme:'facebook', 
     slideshow:2000; 
}); 

Voici comment le code html est

<a href="img/IMG_3884_large.JPG" > 
<img src="img/IMG_3884.JPG"> 
</a> 
+0

le code HTML généré par le plug-in? Un plugin lightbox typique utilise l'événement click et affiche l'image dans une superposition fantaisie au lieu de suivre le lien. Est-ce le cas? BTW: 1) .delegate() a été remplacé par la méthode .on() 2) La méthode .live() est obsolète. Utilisez .on() pour attacher des gestionnaires d'événements. – Robert

+0

Oui, le code HTML est généré après le chargement du document. Est-ce que le code que j'ai écrit est correct si je remplace .delegate par .on? – esafwan

Répondre

1

Tout d'abord, le code que vous avez fourni n'est pas très clair. Qu'est-ce que c'est quoi?

Cependant, si je comprends bien, le problème est que le HTML généré par le plugin Picasa n'est pas prêt avant l'instanciation du plugin lightBox.

Le code du site LightBox:

$(function() { 
$('#gallery a').lightBox({fixedNavigation:true}); 
}); 

donc vous devez faire 2 choses:

1) Assurez-vous que l'élément contenant les photos a l'identifiant droit (classe ou ID). Dans ce cas ID "galerie" 2) Placez ce code après le chargement est terminé (dans le script Picasa)

$('#gallery a').lightBox({fixedNavigation:true}); 
Questions connexes