我正在尝试将 jQuery Booklet 插件放在使用 1.3.2 库的站点上 - 我无法删除此引用或升级。过去,我已经成功地将 noConflict 与其他需要此站点上更新版本的 jQuery 的插件一起使用。
当我在本地测试并包含 1.3.2 参考时,Firebug 控制台告诉我:
但是这本书仍然可以正确加载和运行。不确定该错误是什么意思。当我将代码放到我的开发站点上时,书中的图像看起来一个堆叠在另一个之上,缺少导航按钮,并且我在 Firebug 控制台中看到一个错误,上面写着
TypeError: p2.offset(...) is undefined [Break On This Error]
p2.offset().left + pWidth - hoverFullWidth,
在 IE 中它告诉我: SCRIPT5007: Unable to get property 'left' of undefined or null reference jquery.booklet.latest.js, line 1205 character 2
这是有问题的代码,是 jquery.booklet.latest.js 的一部分
p3.draggable({
axis: "x",
containment: [
target.offset().left,
0,
p2.offset().left + pWidth - hoverFullWidth,
pHeight
],
有些东西没有正确加载。在我的开发环境中的页面中,脚本如下所示:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" type="text/javascript"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.10.1/jquery-ui.min.js" type="text/javascript"></script>
<script src="/wcsstore/CVWEB/images/home/js/jquery.easing.1.3.js" type="text/javascript"></script>
<script src="/wcsstore/CVWEB/images/home/js/jquery.booklet.latest.js" type="text/javascript"></script>
<link href="/opencms/opencms/CVWEB/css/jquery.booklet.latest.css" type="text/css" rel="stylesheet" media="screen, projection, tv" />
<script type="text/javascript">
var $j = jQuery.noConflict(true);
$j(document).ready(function(){
$j(function () {
$j("#mybook").booklet();
});
});
</script>
由于有很多其他脚本,我需要对 noConflict 做些什么吗?我是否需要修改 jquery.booklet.latest.js 文件以以某种方式包含 noConflict ?我尝试像上面一样声明变量并替换 $ ,但这没有做任何事情。
我在这里和这里查看以尝试解决缓动错误,但我已经包含了所有正确的脚本。
我在这里尝试了使用 jQuery 而不是 $ 的解决方案,但没有运气。
当谈到 jQuery 时,我仍然很绿色,所以任何帮助表示赞赏。谢谢你。
我即将转向另一个选择,但想在这里发帖,以便了解问题所在。