Опции jQuery Fancybox игнорируются - PullRequest
0 голосов
/ 27 сентября 2010

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

1 Ответ

1 голос
/ 27 сентября 2010

Он не создаст заново 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-цепочки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...