Есть ли способ вызвать автоматическое открытие Fancybox при вызове.fancybox()

Я пытаюсь заставить fancybox 1.3.4 автоматически открываться при вызове. Мы использовали для:

jQuery("a.vidHelp").fancybox(fbOptions).trigger('click');

Однако, похоже, это больше не работает. В fancybox есть div, который использует swfObject для загрузки.

Кажется, что ни swfObject, ни fancybox не имеют триггеров, когда они заканчивают загрузку, поэтому я сейчас использую это:

var checkFancybox = window.setInterval(function() {
    if (jQuery("object#flashContent").length) {
        jQuery("a.vidHelp").trigger("click");
        clearInterval(checkFancybox);
    }
}, 1000);

Который проверяет наличие объекта флэш-памяти и вызывает щелчок.

Есть ли более элегантное решение?

1 ответ

Мой код похож

В HTML

<a id="btn" title="OPEN FANCYBOX" href="#hiddenPre">
<div style="display:none"><pre id="hiddenPre">dummy</pre></div>

В JS

$("#btn").click(function(){
    $("#hiddenPre").text(textYouWantToShow);
});

//fancybox binding
$("a#btn").fancybox({
    'hideOnContentClick': true
});

и в вашем случае вам просто нужно позвонить

$("#hiddenPre").text(textYouWantToShow);

должен сделать трюк

Другие вопросы по тегам