2010-09-27 71 views
0

我正在处理的网站上我有一个fancybox,当页面加载时会触发,显示隐藏的<div>的内容,但由于某些原因,诸如高度,宽度等任何选项都会被忽略。我需要能够使用'callbackOnShow:'选项,因为我需要在fancybox中有一些click()函数。被忽略的jQuery Fancybox选项

我的代码如下,是一个文档准备函数中:

我把高度5000东西作为测试,如无,似乎是工作。

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

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

任何想法为什么这不会按预期工作?

谢谢,戴夫

更新的代码:

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

Hidth - > width。 – chelmertz 2010-09-27 14:40:58

回答

1

它不会重新创建的fancybox,所以当你调用$("#link").fancybox()要创建使用默认选项一个的fancybox然后向右 ...稍后指定选项将不会覆盖您已使用的默认值。

得到什么你之后,只需要提供当时的选项,你叫它:

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

而且jQuery中有没有需要一个.length检查,如果发现它会元素做一些事情,如果没有,那么它不会......它在内部作为jQuery链接工作的一部分进行处理。

+0

感谢您的回复,我刚刚按照您的说法尝试过,但它似乎仍然无法正常工作。我已经使用当前的代码更新了原始帖子。 – Probocop 2010-09-27 14:52:43

+0

@Probocop - 什么是'callbackOnShow'?你是指'onStart'还是'onComplete'?或者只是绑定一个单独的'click'事件? – 2010-09-27 14:57:46

+0

@Nick Craver - 显然我需要在callbackOnShow选项内将任何我想在fancybox中使用的函数放入 – Probocop 2010-09-27 15:09:57