【问题标题】:jQuery 1.3.2 conflictjQuery 1.3.2 冲突
【发布时间】:2011-10-28 12:18:13
【问题描述】:

我正在将 Jquery 1.3.2 用于需要它在 IE 7/8 中运行的脚本。

我为修改tabSlideOUT v1.3而编写的以下代码

By William Paoli: http://wpaoli.building58.com is causing a conflict and throwing an "Invalid Argument" error in jquery.

<script type="text/javascript">
$(document).ready(function() {
    $("div#slidetab_1.slide-out-div a.handle").click(function () {
        $("div#slidetab_2.slide-out-div").toggleClass("slide-height", 250) ;
    });
    $("div#slidetab_2.slide-out-div a.handle").click(function () {
        $("div#slidetab_2.slide-out-div.tab2.slide-height").toggleClass("slide-height"); 
    });
});
</script>

似乎是 toggleClass 函数导致了错误。有谁知道另一种编码方式,所以我不必使用切换?

很抱歉,它看起来如此含糊,但我在 JS Fiddle 上发布示例时遇到了问题。

我只需要一个切换类的替代方法

提前致谢

干杯

【问题讨论】:

    标签: jquery-1.3.2


    【解决方案1】:

    问题是您将250 作为第二个参数传递......它应该在您的代码中做什么?

    来自documentation

    switch 一个布尔值(不仅仅是真/假),用于确定是应该添加还是删除类。

    它似乎没有任何目的,所以我建议删除它。

    更新:查看jQuery source code, 传递250 后不应抛出该错误。不过我建议删除它并测试它。如果它不起作用,您必须提供更多信息(究竟是哪里引发了错误等)。

    或者,您可以使用此函数来切换类:

    function toggleClass($element, cls) {
        $element[$element.hasClass(cls) ? 'removeClass' : 'addClass'](cls);
    }
    

    【讨论】:

    • 嗨菲利克斯,谢谢这是问题所在。 250 是一个延迟,我看到它只在 jQuery 1.4 中实现。非常感谢,干杯
    • @Clinton:甚至 jQuery 1.4 都没有实现这一点(至少它不在文档中)。也许它是 jQuery UI 的扩展。无论如何,我很高兴这解决了它 :) 快乐编码!
    • 嗨 Felix,看看这里,api.jquery.com/delay 我在 jQuery 1.5.2 中使用了相同的代码,效果很好。再次感谢伙计,干杯
    猜你喜欢
    • 2011-08-04
    • 1970-01-01
    • 2011-04-02
    • 2017-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多