2010-09-27 8 views
0

sur le site sur lequel je travaille J'ai une fancybox qui se déclenche lorsque la page se charge et affiche le contenu d'un <div> caché, mais pour une raison quelconque, les options telles que hauteur, largeur, etc. sont ignorées . Je dois pouvoir utiliser l'option 'callbackOnShow:' car j'ai besoin de certaines fonctions click() dans la fancybox.Options jQuery Fancybox ignorées

Mon code est le suivant, et se trouve dans un document fonction prêt:

je mets la hauteur 5000 chose comme un test, que rien ne semble fonctionner.

// FANCY BOX 
    if ($('#link').length) { 
     $('#link').click(function(){ 
      $('#link').fancybox({ 
       'scrolling' : 'no', 
       'hidth': 5000, 
       'height': 465, 
       'content' : $("#lightbox-content").html() 
      }); 
     }); 
    } 

    $("#link").fancybox().trigger('click'); 

Une idée pourquoi cela ne fonctionnerait pas comme prévu?

Merci, Dave

Code Mise à jour:

// FANCY BOX 
$("#link").fancybox({ 
    'scrolling' : 'no', 
    'width': 5000, 
    'height': 2000, 
    'callbackOnShow': function() { alert('hello'); }, 
    'content' : $("#lightbox-content").html() 
}).trigger('click'); 
+0

Largeur -> largeur. – chelmertz

Répondre

1

Il ne sera pas recréer le fancybox, donc quand vous appelez $("#link").fancybox() vous créez une fancybox avec les options par défaut droite, puis ... plus tard, la spécification des options ne remplacera pas les valeurs par défaut que vous avez déjà utilisées.

obtenir ce que vous êtes après, juste fournir les options au moment de vous l'appelez:

$("#link").fancybox({ 
    'scrolling' : 'no', 
    'width': 5000, //was hidth, make sure to correct this 
    'height': 465, 
    'content' : $("#lightbox-content").html() 
}).trigger('click'); 

également dans jQuery il n'y a pas besoin d'un chèque .length, si elle trouve des éléments qu'il va faire quelque chose, si ce n'est pas le cas, ce ne sera pas le cas ... il est géré en interne dans le cadre du fonctionnement du chaînage jQuery.

+0

Merci pour votre réponse, j'ai juste essayé de faire comme vous l'avez dit mais cela ne semble toujours pas fonctionner. J'ai mis à jour mon message original avec mon code actuel. – Probocop

+0

@Probocop - Qu'est-ce que 'callbackOnShow'? Voulez-vous dire «onStart» ou «onComplete»? Ou simplement lier un événement séparé click? –

+0

@Nick Craver - Apparemment, je devrais mettre toutes les fonctions que je veux utiliser dans la fancybox dans une option callbackOnShow – Probocop