【问题标题】:Triggering Fancy Box on document load在文档加载时触发 Fancy Box
【发布时间】:2012-10-02 17:05:07
【问题描述】:

我正在尝试做一些相对简单的事情,那就是在文档加载期间触发 Facnybox jQuery 插件弹出。我正在使用 ASP,但这应该无关紧要。我有以下标签:

<a id = "lnkGId" href = "" name = "lnkGId" runat = "server"  ></a>

在 JavaScript 中,我执行以下操作:

//check to ensure the link has an href

$(document).ready(function () {
    if($("a[id *= 'lnkGId']").length > 0 && $("a[id *= 'lnkGId']").attr("href") !="" ){
    console.log($("a[id *= 'lnkGId']").attr("href"));
    }
});

锚在服务器端动态设置它的href。 id 有点混乱,这就是我使用 *= 选择器的原因。这部分有效,如果我在锚点有 href 时运行上述内容,我会在控制台中看到正确的 href 登录。

现在我要做的就是在页面加载并且锚点 href 有值时触发 Faccybox。我在上面发布的 if 条件中尝试了很多不同的方法:

1

$("a[id *= 'lnkGId']").fancybox().trigger("click");

2

    var url = $("a[id *= 'lnkGId']").attr("href");
        $.fancybox({
            href: url, 
            modal: true,
            'fitToView'     : false,
            'width'         : '600px',
            'height'        : '560px',
            'autoSize'      : false,
            'closeClick'    : true              
        });

3

            $("a[id *= 'lnkGId']").fancybox({
                'fitToView'     : false,
                'width'         : '600px',
                'height'        : '560px',
                'autoSize'      : false,
                'closeClick'    : true

            });
$("a[id *= 'lnkGId']").trigger("click")

我没有收到任何错误。我正在做一个 console.log("complete");在我应用了上面的代码以确保它不会在很长一段时间内被破坏之后。一切似乎都处于工作状态,我只是无法触发它!有人对我可以在这里做什么有任何建议吗?任何建议将不胜感激。谢谢!

【问题讨论】:

    标签: javascript jquery jquery-plugins fancybox


    【解决方案1】:

    如果使用 Fancybox v1.3.4,请检查http://fancybox.net/blog No.6

    对于 v2.x,请查看http://fancyapps.com/fancybox/#useful No. 12

    此外,如果您只想在第一次访问期间(而不是每次重新加载页面时)启动 fancybox,那么您可以使用 cookie。

    在此处检查该方法:https://stackoverflow.com/a/8305703/1055987

    【讨论】:

      【解决方案2】:

      href的url是图片还是文字内容?如果它返回一个网页,您可以使用 iframe,例如

        $.fancybox('<iframe width="600" height="560" src="' + url + '"></iframe>',
          {
            'width': 600,
            'height': 560
          });
      

      【讨论】:

        【解决方案3】:

        感谢您的回复。

        我的特殊情况的问题最终是我的锚标记上没有 fancybox.iframe 类。一旦我添加它,事情就开始按预期工作。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-10-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多