2010-09-27 67 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