2012-05-05 29 views
0

我一直在使用jQuery覆盖,似乎只适用于jQuery 1.2.6或更低版本。覆盖代码来自jQueryTools:http://jquerytools.org/demos/overlay/index.html。这不是一个插件,我只需要包含jQuery库就可以工作。jQuery覆盖不能在大于1.2.6的版本上工作

我用它来显示叠加层的代码是:

<a rel="#account_overlay">Open Overlay</a> 

<div class="simple_overlay" id="account_overlay"> 
// content 
</div> 

<script> 
$("a[rel]").overlay({ 
mask: '#000000', 
close: "a.close_overlay_btn", 
closeOnClick: true, 
closeOnEsc: true 
}); 
</script> 

当然有修改这个对jQuery的最新版本的工作方式,我不明白为什么它没有。有关如何修改它以使用1.7+的建议?

在控制台中,我看到这个错误:

Uncaught TypeError: Object [object Object] has no method 'overlay'

我宁愿不更换所有覆盖在我的项目,因为有TOOOO很多,我只是想改变它,所以我可以使用最新的版本的jQuery。所以,我宁愿看不到交换service/plugin/ui等的建议,我只想知道这是否可行。

回答

1

我敢肯定,你需要包括jQuery工具的覆盖工作,因为无论是jQuery或jQuery UI都没有内置的覆盖功能。即使示例页面指向<script src="http://cdn.jquerytools.org/1.2.7/full/jquery.tools.min.js"></script>

+0

奇怪!也许在1.2.6或更低版本中,有一个覆盖功能。我从来没有在这个项目中包含jQuery工具,只有jQuery 1.2.6。看起来我可能必须包含它才能在更高版本上工作... – TheCarver