有没有办法在调用.fancybox()时触发Fancybox自动打开

时间:2012-03-02 16:08:13

标签: jquery fancybox swfobject

我试图让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);

检查要创建的Flash对象并触发单击。

有更优雅的解决方案吗?

1 个答案:

答案 0 :(得分:0)

我的代码就像

在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);

应该做的伎俩