2010-09-27 1 views
0

на сайте, над которым я работаю У меня есть fancybox, который запускается при загрузке страницы, которая отображает содержимое скрытого <div>, но по какой-либо причине любые параметры, такие как высота, ширина и т. Д., Игнорируются , Мне нужно иметь возможность использовать параметр callbackOnShow:, поскольку мне нужно иметь некоторые функции click() в fancybox.Параметры 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

Ширина -> ширина. – chelmertz

ответ

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

+0

@Probocop - Что такое callbackOnShow? Вы имели в виду 'onStart' или' onComplete'? Или просто привязка отдельного события 'click'? –

+0

@Nick Craver - По-видимому, мне нужно будет использовать любые функции, которые я хочу использовать внутри fancybox в опции callbackOnShow. – Probocop