如何确定fancybox何时打开?

Ax.*_*Ax. 9 javascript fancybox

我需要知道fancybox已经打开,允许或拒绝另一个功能启动.

内置函数像'onStart'或'onClosed'这样的Fancybox不起作用.

我说的是版本1.3.0 RC2

til*_*ers 12

$.fancybox.isOpen (bool)表示fancybox是否打开.


Eri*_*rik 10

您使用的版本显然与文档不符; 我查看了源代码,看到选项的名称与在线文档不同.我刚用1.3RC2测试了以下内容:

$(document).ready(function() {

    function myStartFunction() { alert('fancy box opened'); }

    $("a#inline").fancybox({
        'onStart': myStartFunction
    });  
});
Run Code Online (Sandbox Code Playgroud)

您正在寻找的选项是"onStart" - 每次打开一个盒子时,myStartFunction中的警报都会消失.我不确定他们何时更改了选项,但您可以查看底部使用的任何版本的源代码,并查看应该调用的选项.

编辑

我只是仔细检查了v1.2.5 - 我使用的版本 - 并且回调确实命名为不同.callbackOnStart适用于1.25,但正如我所说,不是1.3


mol*_*a10 8

尝试使用方法

beforeLoad, // Before loading
afterLoad, // After loading
beforeShow, // Before changing in current item
afterShow, // After opening
Run Code Online (Sandbox Code Playgroud)

这段代码很好用

$(".fancybox").fancybox({beforeShow:function(){alert('blah');}});
Run Code Online (Sandbox Code Playgroud)