【问题标题】:Jquery toggle function breaks on pages that include mootools or slimbox scriptJquery 切换功能在包含 mootools 或 slimbox 脚本的页面上中断
【发布时间】:2009-08-28 02:44:38
【问题描述】:

我的朋友被要求查看她的网站,其中在使用 slimbox 的页面上出现错误 - 一个不相关的 Jquery 切换功能中断 - 这是代码:

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

当 slimbox 和 mootools 脚本不存在时,此代码可以正常工作,但是加载这些脚本中的任何一个都会破坏它 - dt 元素没有隐藏,并且单击它们各自的 dds 不会将它们切换为隐藏状态。这是来自 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 在一些使用此功能的页面上显示画廊。

【问题讨论】:

    标签: jquery null mootools toggle slimbox


    【解决方案1】:

    This article 应该会有所帮助。基本上你需要调用noConflict 并使用jQuery() 来调用你的jQuery 函数。

    【讨论】:

    • 是的,我使用 $j 的建议。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2011-05-16
      • 2012-01-01
      • 2012-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-21
      • 1970-01-01
      相关资源
      最近更新 更多