这让我疯了.我创建了一个简单的测试页面..
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="../admin/UI/js/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="admin/fancybox/jquery.fancybox-1.3.4.pack.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#foo").fancybox({
'autoDimensions': false,
'width' : '750',
'height' : '90%',
'transitionIn' : 'elastic',
'transitionOut' : 'elastic',
'speedIn' : 600,
'speedOut' : 200,
'overlayShow' : true,
'hideOnOverlayClick' : false
});
});
</script>
<title>Untitled Document</title>
</head>
<body>
<a href="foo.php" id="foo">test</a>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
点击链接我得到`d.onCleanup is not a function!!! 有谁知道这个错误来自哪里!!
或者在解压缩版本上:
currentOpts.onCleanup is not a function on …Run Code Online (Sandbox Code Playgroud) Fancybox打破了新的jQuery v1.9.0.
它影响Fancybox v1.3.4及以下 - 和 - v2.1.3及以下.
显示的错误是:
v1.3.4:
Timestamp: 15/01/2013 10:03:28 AM
Error: TypeError: b.browser is undefined
Source File: ...fancybox/jquery.fancybox-1.3.4.pack.js
Line: 18
Run Code Online (Sandbox Code Playgroud)
......其他错误
Uncaught TypeError: Cannot read property 'msie' of undefined jquery.fancybox-1.3.4.pack.js:18
Uncaught TypeError: Object [object Object] has no method 'fancybox'
Run Code Online (Sandbox Code Playgroud)
在v2.1.3中:
Timestamp: 15/01/2013 10:09:58 AM
Error: TypeError: $.browser is undefined
Source File: h.../fancybox2.1.3/jquery.fancybox.js
Line: 139
Run Code Online (Sandbox Code Playgroud)
如果你用它来调用jQuery:
<script src="http://code.jquery.com/jquery-latest.js"></script>
Run Code Online (Sandbox Code Playgroud)
... 任何现有的fancybox实现都会失败!
我想在页面加载时启动Fancybox(例如Fancybox的模态或灯箱版本).我可以将它绑定到一个隐藏的锚标签并通过JavaScript激活该锚标签的click事件,但我宁愿直接启动Fancybox并避免额外的锚标记.
好吧,我只是写这篇文章,希望能帮助那些可能遇到同样问题的人.
供应商网站上的示例有点模糊,我假设了以下场景.
你有一个链接与href一些内容的链接#id.
<a href="#content-div" class="fancybox">Open Example</a>
Run Code Online (Sandbox Code Playgroud)
你有一个div来保存那些内容.
<div id="content-div" style="display: none">Some content here</div>
Run Code Online (Sandbox Code Playgroud)
然后你只需通过1-liner运行Fancybox.
$(".fancybox").fancybox();
Run Code Online (Sandbox Code Playgroud)
当然,您认为Fancybox会复制内容并更改display: none为display: block一切都会好的.
但这不会发生.
它仍然加载内容但内容被隐藏,你有一个空白的Fancybox.*cry*
大家好我希望能够从内部打开时关闭fancyBox.
我尝试了以下但无济于事:
function closeFancyBox(html){
var re = /.*Element insert complete!.*/gi;
if( html.search( re ) == 0 ){
$.fancybox.close();
//alert("foo");
}
}
Run Code Online (Sandbox Code Playgroud)
foo将在对话框中打开但不会关闭.任何提示?
对我的问题,我有一个链接<a href="http://www.youtube.com/embed/YT-ID" class="overlay_video"></a>.我想通过单击fancybox覆盖窗口中的链接来播放视频.这不是问题.问题是参数,例如"自动播放"或"自动隐藏".
以下链接不起作用:
<a href="http://www.youtube.com/embed/YT-ID?autoplay=1" class="overlay_video"></a>
Run Code Online (Sandbox Code Playgroud)
Overlay-Window已打开,但视频未自动播放.
编辑:我想在移动设备上使用HTML5播放器.在桌面浏览器上,它可以使用参数,但不能在移动设备上使用.
在没有母版页的aspx页面中使用JQuery时没有问题,但是当我尝试在具有母版页的页面中使用它时,它不起作用,所以我最终将jquery文件和其他脚本文件放在页面而不是主页.现在,如果我有10页,我正在为所有10个页面执行此操作,我知道这是不正确的.在下面的示例主页中,我将在哪里放置我的脚本文件.
<html>
<head runat="server">
<asp:ContentPlaceHolder ID="head" runat="server">
</asp:ContentPlaceHolder>
</head>
<body>
<asp:ContentPlaceHolder ID="ContentPanel" runat="server">
</asp:ContentPlaceHolder>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我最近使用了fancybox插件,而我所做的不是将jquery脚本和fancybox脚本放在母版页中,因为我对它的工作感到沮丧,我只是把它放在我希望脚本运行的页面中,特别是在在关闭asp之前的底部:内容.当然,现在我有一个问题,如果我想在其他页面中使用fancybox插件,我会将jquery脚本和fancybox脚本放在所有5个页面而不仅仅是母版页上.在处理主页时,使用上面的示例,一切都在哪里?
我可以在fancybox中打开youtube视频吗?
我有一个youtube视频链接列表,例如:
<a href="http://www.youtube.com/watch?v=PvbqV8W96D0" class="more">Play</a>
Run Code Online (Sandbox Code Playgroud)
和fancybox:
$("a.more").fancybox({
'titleShow' : false,
'transitionIn' : 'elastic',
'transitionOut' : 'elastic'
});
Run Code Online (Sandbox Code Playgroud)
我不想为每个视频创建新的嵌入对象.
是否有插件或其他方法可以做到这一点?
我试图从我的函数中打开一个fancybox - 简而言之,我的HTML代码看起来像这样;
<a href="#modalMine" onclick="myfunction(this); return false;">
click
</a>
Run Code Online (Sandbox Code Playgroud)
我的部分功能看起来像这样;
function myfunction(me) {
$(me).fancybox({
'autoScale': true,
'transitionIn': 'elastic',
'transitionOut': 'elastic',
'speedIn': 500,
'speedOut': 300,
'autoDimensions': true,
'centerOnScroll': true,
});
}
Run Code Online (Sandbox Code Playgroud)
以上工作在IE浏览器,但不适用于FireFox或Chrome - 任何想法如何解决这个问题?我知道为什么要触发另一个链接,但我希望另一种解决方案是可能的.
我正在使用jquery fancybox版本2.0.3.我想防止在fancybox外面点击关闭.我想强制用户单击十字按钮.我试过了
$(document).ready(function() {
$(".various").fancybox({
closeClick : false,
openEffect : 'none',
closeEffect : 'none',
hideOnOverlayClick:false,
hideOnContentClick:false
}).trigger("click");
});
Run Code Online (Sandbox Code Playgroud)
但这似乎不适用于新版本的fancybox.我已经提到了链接
jquery fancybox - 防止在fancybox外面点击关闭
但这些解决方案在fancybox 2.0.3中似乎不起作用
fancybox ×10
jquery ×8
javascript ×2
youtube ×2
asp.net ×1
css ×1
fancybox-2 ×1
html ×1
html5 ×1
master-pages ×1
mobile ×1
overlay ×1