我正在尝试做一些相对简单的事情,这会触发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条件中尝试了很多不同的方法:
$("a[id *= 'lnkGId']").fancybox().trigger("click");
var url = $("a[id *= 'lnkGId']").attr("href");
$.fancybox({
href: url,
modal: true,
'fitToView' : false,
'width' : '600px',
'height' : '560px',
'autoSize' : false,
'closeClick' : true
});
$("a[id *= 'lnkGId']").fancybox({
'fitToView' : false,
'width' : '600px',
'height' : '560px',
'autoSize' : false,
'closeClick' : true
});
$("a[id *= 'lnkGId']").trigger("click")
我没有收到任何错误。我正在做一个console.log(“完整”);在我应用上面的代码之后,确保它不会在某个地方长时间被破坏。一切似乎都处于工作状态我无法触发它!有没有人对我能在这做什么有任何建议?任何建议将非常感谢。谢谢!
答案 0 :(得分:1)
如果使用Fancybox v1.3.4,请检查http://fancybox.net/blog No.6
对于v2.x,请检查http://fancyapps.com/fancybox/#useful第12号
此外,如果您想在第一次访问期间启动fancybox(而不是每次重新加载页面时),那么您可以使用cookie。
答案 1 :(得分:1)
href的网址是图片还是文字内容?如果它返回一个网页,你可以使用iframe,比如
$.fancybox('<iframe width="600" height="560" src="' + url + '"></iframe>',
{
'width': 600,
'height': 560
});
答案 2 :(得分:0)
感谢您的回复。
我的特定案例的问题最终是我的锚标签上没有类fancybox.iframe
。一旦我添加它,事情开始按预期工作。