0

我的朋友被要求查看她的网站,在使用 slimbox 的页面上存在错误——一个不相关的 Jquery 切换功能中断——代码如下:

$(function() {
    $(".cat_nav dd").hide();
    $(".cat_nav dt").click(function() {
        $(this).next().toggle();
        return false;
    });
});

当 slimbox 和 mootools 脚本不存在时,此代码可以正常工作,但是加载这些脚本中的任何一个都会破坏它 -dt元素没有隐藏并且单击它们各自dd的 s 不会将它们切换为隐藏。这是来自 Safari 的 JS 控制台的错误消息:

TypeError: Result of expression '$(".cat_nav dd")' [null] is not an object.

此错误仅出现在加载 slimbox 或 mootools 的页面上,如下所示:

<script type="text/javascript" src="/js/mootools.js" charset="utf-8"></script>
<script type="text/javascript" src="/js/slimbox.js" charset="utf-8"></script>

有没有办法组成这个与 slimbox 兼容?她正在使用 slimbox 在一些使用此功能的页面上显示画廊。

4

2 回答 2

3

这篇文章应该有所帮助。基本上你需要调用noConflict和使用jQuery()来调用你的 jQuery 函数。

于 2009-08-28T02:55:07.383 回答
1

出现这个错误是因为 using $(".cat_nav dd"),你必须使用$$(".cat_nav dd"),因为$()mootools 中的函数只取元素 id 而不是 CSS 选择器。

于 2010-05-11T15:05:48.037 回答