【问题标题】:How to open Fancybox without trigger('click')?如何在没有触发器('click')的情况下打开 Fancybox?
【发布时间】:2014-07-13 03:15:21
【问题描述】:

找不到使用选项和回调打开 Fancybox 窗口 http://fancyapps.com/fancybox/ 的方法。没有 trigger('click') => 这是错误的。如果尝试在打开的精美窗口中单击通常的链接 - 它刚刚重新打开。这是错误。

您可以在这里看到精美的问候窗口:http://noveogroup-test.esy.es/#

代码:

setTimeout(function(){
    if (!$.cookie('greeting')) {
        $.cookie('greeting', true);
        $('.greeting').fancybox({
            'beforeLoad': function(){$('.body').css('-webkit-filter', 'blur(6px)')},
            'afterClose': function(){$('.body').css('-webkit-filter', 'blur(0px)')},
            'openSpeed': 1000,
            'closeSpeed': 500,
            'padding': 20
        }).trigger('click');
    }
}, 1000);

【问题讨论】:

  • 将此行添加到这里,autoPlay : true
  • 不起作用。没有自动启动。
  • 我知道,我必须使用 $.fancybox.open( [group], [options] ),但我不知道在哪里设置回调。
  • $.fancybox(/* options */)一样以编程方式进行

标签: javascript jquery triggers fancybox options


【解决方案1】:

我也有同样的问题。

您可以触发点击并传递一个解释“我是一个花哨的触发器”的事件。在您的监听事件点击中,您将能够看到它是手动触发还是花哨触发。

var eventClick = new $.Event("click"),
    $element = $(".element");

$element.click(function (e) {
    if (e.fancy) {
        return console.log("This is a fancy trigger")
    }

    console.log("This is manual trigger");
});

eventClick.fancy = true;
$element.trigger(eventClick);

这是一个代码笔示例:http://codepen.io/Haeresis/pen/RWyxBy

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-02
    • 1970-01-01
    • 2017-07-18
    相关资源
    最近更新 更多