1

我正在我的网站上制作一个功能,它使用 jQuery 的 switch 类函数来为按钮设置动画。

您可以在http://www.minecraftserverland.com/testview.php看到该页面

按钮在单击时从白色背景变为清晰背景,在第二次单击后返回白色背景。这在 Firefox 和 Internet Explorer 中完美运行,但在 google chrome 中,切换的类似乎无法正确呈现。

第二次单击时,按钮不会变清晰,实际上会变黑。但是,在任何时候,如果您检查元素,类会自行修复,因此 javascript 显然可以正常工作。

我正在使用的 jquery 示例:

$("#ftb").click(function () {
    if ( $("#ftb").hasClass("s1") ) {
        $('#ftb.s1').switchClass( "s1", "sd1", 700, "swing" );
        $('input#main').val('1');
    } else if (  $("#ftb").hasClass("sd1") ) {
        $('#ftb').switchClass( "sd1", "s1", 700, "swing" );
        $('#bukkit').switchClass( "s1", "sd2", 700, "swing" );
        $('#vanilla').switchClass( "s1", "sd3", 700, "swing" );
        $('input#main').val('ftb');
    }
});

有没有人遇到过这种情况?你知道为什么会这样吗?谢谢!

4

1 回答 1

0

有过同样的情况。

有趣的是,当您使用旧的东西时,chrome 会正常.removeclass().addclass()运行。每次都打字很烦,所以我做了一个简单的函数,没有任何回调或持续时间,希望对大家有所帮助。

jQuery.fn.switcher = function(n,s) {
    var $elem = $(this[0]) ;
    $(this).removeClass(n).addClass(s);

    return $elem; //ensures jquery chainability
};

像这样工作:

$(element).switcher("removedclass","addedclass");
于 2013-12-05T21:13:06.623 回答