gpt4 book ai didi

javascript - ASP.Net 回发破坏了 jQuery FancyBox

转载 作者:行者123 更新时间:2023-11-28 16:28:39 25 4
gpt4 key购买 nike

我在 ASP.Net aspx 页面上有一个 FancyBox 帮助链接,注册如下:

    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script type="text/javascript" src="fancybox/jquery.fancybox-1.3.4.js"></script>
<link rel="stylesheet" type="text/css" href="fancybox/jquery.fancybox-1.3.4.css" media="screen" />

<script type="text/javascript">
$(document).ready(function() {

$("#help").fancybox({
'width': '90%',
'height': '90%',
'autoScale': true,
'transitionIn': 'elastic',
'transitionOut': 'none',
'titleShow': false,
'type': 'iframe'
});

});
</script>

它工作正常,但在 2 次回发后(在 1 次后仍然有效),当我单击帮助链接时,此处(在 fancybox.js 中)会抛出一个异常,说“wrap”不是对象:

    $.fancybox.center = function() {
var view, align;

if (busy) {
return;
}

align = arguments[0] === true ? 1 : 0;
view = _get_viewport();

if (!align && (wrap.width() > view[0] || wrap.height() > view[1])) {
return;
}

第三次回发后,在 jquery.js 文件中完全加载页面之前会引发错误 Microsoft JScript 运行时错误:对象不支持此属性或方法 没有指向任何位置特有的。

有什么想法为什么回发会破坏 fancybox 吗?

最佳答案

解决方案是添加“lazy_loader”。

这将在每次回发中加载您的 fancybox 类

<script type="text/javascript">
$(document).ready(function () {
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(lazy_loader);
lazy_loader();
});

function lazy_loader() {
$("#help").fancybox({
'width': '90%',
'height': '90%',
'autoScale': true,
'transitionIn': 'elastic',
'transitionOut': 'none',
'titleShow': false,
'type': 'iframe'
});
}
</script>

这应该可以正常工作

关于javascript - ASP.Net 回发破坏了 jQuery FancyBox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6998181/

25 4 0