0

我正在尝试做一些相对简单的事情,那就是在文档加载期间触发 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"); 在我应用了上面的代码以确保它不会在很长一段时间内被破坏之后。一切似乎都处于工作状态,我只是无法触发它!有人对我可以在这里做什么有任何建议吗?任何建议将不胜感激。谢谢!

4

3 回答 3

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

于 2012-10-02T17:11:20.493 回答
1

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

  $.fancybox('<iframe width="600" height="560" src="' + url + '"></iframe>',
    {
      'width': 600,
      'height': 560
    });
于 2012-10-02T17:19:43.407 回答
0

感谢您的回复。

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

于 2012-10-05T15:59:14.483 回答