【问题标题】:fancybox callbacks花式框回调
【发布时间】:2012-04-05 12:02:14
【问题描述】:

我已经阅读了十几个帖子和答案...无济于事。

这个简单的代码有什么问题,我在这里缺少什么。 尝试过的回调都不起作用。

$("#project_info").fancybox({ 'onComplete':函数(){ console.log('记录这个'); //$.cookie('fcookie', '1', {path: '/'}); } }); $("#project_info").fancybox().trigger("click");

和html

Lorem ipsum dolor sit amet, consectetur adipiscing elit。

注意:本地 wamp

编辑:也在远程服务器上进行了测试-剥离文件以防止任何交互-结果相同

【问题讨论】:

    标签: jquery fancybox


    【解决方案1】:

    “onComplete”回调不需要引号;你可以做一个简单的:

    $("#project_info").fancybox({
      onComplete: function() {
        alert('Completed!');
      }
    });
    

    【讨论】:

    • 我对它进行了两种测试 - 没有运气 - 有很多关于 fancybox 回调的投诉,这让我想知道,如果它们不仅是“我们也有”类型的功能 - 它就在那里- 因为其他人有它,但它很少起作用 - 我也在远程服务器上测试过 - 结果相同
    • 对于fancybox v1.3.x 报价实际上是推荐的。不是 v2.x 的情况
    【解决方案2】:

    我正在回答我自己的问题,发布我最终使用的解决方案并进行了测试。 也许有人觉得它有用。

    fancybox 1.3 中有一些东西会在回调中使用 cookie 时终止回调。

    没时间测试,是什么。

    有人知道吗?写在下面。

    请注意:当我尝试通过 .trigger("click") 设置 cookie 时,同样发生了 回调可以在标准点击中正常工作。

    我尝试了什么 - 没有成功。

    //试用1:不起作用 $("#project_info").fancybox({ 完成:函数(){ $.cookie('fcookie', '1', {path: '/'}); } }); $("#project_info").fancybox().trigger("点击"); //试用2:不起作用 函数 StoreCookie() { $.cookie('fcookie', '1', {path: '/'}); } $("#project_info").fancybox({ 完成:函数(){ 商店饼干() } }); $("#project_info").fancybox().trigger("点击"); //试用3:不起作用 函数 StoreCookie() { $.cookie('fcookie', '1', {path: '/'}); } $("#project_info").fancybox({ onComplete: StoreCookie }); $("#project_info").fancybox().trigger("点击"); //试用3:不起作用 函数 StoreCookie() { $.cookie('fcookie', '1', {path: '/'}); } $("#project_info").fancybox({ // }); $("#project_info").fancybox().trigger("click", StoreCookie());//试用1:不起作用 $("#project_info").fancybox({ 完成:函数(){ $.cookie('fcookie', '1', {path: '/'}); } }); $("#project_info").fancybox().trigger("点击"); //试用2:不起作用 函数 StoreCookie() { $.cookie('fcookie', '1', {path: '/'}); } $("#project_info").fancybox({ 完成:函数(){ 商店饼干() } }); $("#project_info").fancybox().trigger("点击"); //试用3:不起作用 函数 StoreCookie() { $.cookie('fcookie', '1', {path: '/'}); } $("#project_info").fancybox({ onComplete: StoreCookie }); $("#project_info").fancybox().trigger("点击"); //试用3:不起作用 函数 StoreCookie() { $.cookie('fcookie', '1', {path: '/'}); } $("#project_info").fancybox({ // }); $("#project_info").fancybox().trigger("点击", StoreCookie());

    这是我的选择

    我不太喜欢你 因为cookie存储在fancybox之外的一些地方

    if (!$.cookie('fcookie')) { $("#project_info").fancybox({ 完成:函数(){ // } }); $("#project_info").fancybox().trigger("点击"); } $.cookie('fcookie', '1', {path: '/'});

    【讨论】:

    • 我不明白在fancybox 中存储cookie 的想法背后的原因。您可以尝试调用 cookie 函数 onClosed 而不是 onComplete。没错,fancybox 在关闭时会自行清理。
    • 这就是回调的用途 - 让事情顺利进行(cookie 是什么); onClosed/onComplete - 两者都不起作用;为什么里面有饼干?我尝试根据需要使用一个 fancybox 实例进行加载/单击和设置/销毁 cookie - 最后我使用了 2 - 请参见此处:tinyurl.com/cdldjrh
    猜你喜欢
    • 1970-01-01
    • 2012-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多