javascript Fancybox onStart onComplete 状态不起作用

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/3438439/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-10-25 01:10:10  来源:igfitidea点击:

fancybox onStart onComplete status not working

javascriptjqueryfancybox

提问by mystesso

I'm trying to keep working onStartand onCompletemethods using FancyBox(jquery plugin)

我正在尝试使用FancyBox(jquery 插件)继续工作onStartonComplete方法

I can't seem to get any of it to work for me. Do any of you know what I'm doing wrong?

我似乎无法让它对我来说有效。你们中有人知道我做错了什么吗?

This is what I'm trying now:

这就是我现在正在尝试的:

$(document).ready(function(){
    //top-menu highlight link
    $(".photos").removeClass().addClass("active");
    $("a.fancybox").fancybox({
        'overlayShow' : true,
        '0opacity'       : true,
        'overlayOpacity': 0.6,
        'onStart' : function(){ $("body").css('overflow','hidden');},
        'onComplete': function(){ $("body").css('overflow','auto');}        
    });
});

回答by Maikel van der Boom

I was also trying to get onStart working...

我也试图开始工作......

I got fancybox v2.1.5, but when I do a search on 'onStart' in the javascript file it's not found. When I searched for '.trigger' I found: 'beforeLoad'

我有fancybox v2.1.5,但是当我在javascript 文件中搜索' onStart' 时没有找到。当我搜索“.trigger”时,我发现:“ beforeLoad

Maybe this could help someone out, in my case this is what I needed :)

也许这可以帮助某人,就我而言,这就是我所需要的:)

I also saw there was an 'onReady' triggered somewhere which can be used instead of the 'onComplete' I guess!

我还看到在某处触发了一个“ onReady”,我猜可以用它代替“ onComplete”!

P.S. I used it like this

PS我是这样用的

$("a.popup").fancybox({
    beforeLoad: function() {
        return window.confirm('Continue?');
    }
});

回答by Scriptlabs

FancyBox < version 2

FancyBox < 版本 2

FROM EXAMPLE (fancybox.net):

来自示例(fancybox.net):

    $("#various7").fancybox({
        onStart: function() {
            return window.confirm('Continue?');
        },
        onCancel: function() {
            alert('Canceled!');
        },
        onComplete: function() {
            alert('Completed!');
        },
        onCleanup: function() {
            return window.confirm('Close?');
        },
        onClosed: function() {
            alert('Closed!');
        }
    });

EDIT: 06-2015

编辑:06-2015

FancyBox >= version 2

FancyBox >= 版本 2

FROM EXAMPLE (fancyapps.com):

来自示例(fancyapps.com):

    $("#various7").fancybox({
        onUpdate: function() {
            alert('update!');
        },
        onCancel: function() {
            alert('cancel!');
        },
        onPlayStart: function() {
            alert('play start!');
        },
        onPlayEnd: function() {
            alert('play end!');
        },
        beforeClose: function() {
            alert('before close!');
        },
        afterClose: function() {
            alert('after close!');
        },
        beforeShow: function() {
            alert('before show!');
        },
        afterShow: function() {
            alert('after show!');
        },
        beforeLoad: function() {
            alert('before load!');
        },
        afterLoad: function() {
            alert('after load!');
        }
    });

回答by Mr. 14

Notice that the callback methods are different in fancybox2. It uses beforeLoad, afterShow, etc. Please consult fancybox2's documentation here.

请注意,fancybox2 中的回调方法是不同的。它使用beforeLoad、afterShow等。请在此处查阅fancybox2的文档。

回答by Kalim

fancybox onStart onComplete status not working working with jquery 1.9.1 try jquery 1.6.4.

Fantasybox onStart onComplete 状态不适用于 jquery 1.9.1 尝试 jquery 1.6.4。

回答by Emmanuel

Try this:

试试这个:

$(document).ready(function(){
    $("a.fancybox").fancybox({
        'overlayShow' : true,
        'opacity' : true,
        'overlayOpacity': 0.6,
        'onStart' : function(){
            $("body").css('overflow','hidden');
        },
        'onCleanup': function(){
            $("body").css('overflow','auto');
        }
    });
});