在文档加载时触发Fancy Box

时间:2012-10-02 17:05:08

标签: javascript jquery jquery-plugins fancybox

我正在尝试做一些相对简单的事情,这会触发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记录在控制台中。

现在我想要做的就是在页面加载时触发Facncybox并且锚点href有一个值。我在上面发布的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(“完整”);在我应用上面的代码之后,确保它不会在某个地方长时间被破坏。一切似乎都处于工作状态我无法触发它!有没有人对我能在这做什么有任何建议?任何建议将非常感谢。谢谢!

3 个答案:

答案 0 :(得分:1)

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

对于v2.x,请检查http://fancyapps.com/fancybox/#useful第12号

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

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

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

感谢您的回复。

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