0

我对 jQuery 很陌生,但很想学习。正因为如此,我正在使用 jsFiddle 进行游戏,看看可以做什么 - 没什么大不了的,只是玩动画等等。特别是在两个类之间进行动画处理的能力。

言归正传,你能看看这个,让我知道为什么我需要 .delay 才能让它工作吗?

http://jsfiddle.net/Ps4Xn/2/

$('div').click(function() {    
    if ($(this).hasClass('clicked')) {
        $(this).delay(1).removeClass('clicked', 5000, 'easeInElastic');
    } else {
        $(this).delay(1).addClass('clicked', 5000, 'easeInElastic');
    }
});

据我所知,我应该能够摆脱两个 .delays,但是当我这样做时,它就不起作用了。

4

1 回答 1

2

让我们简化一下。

非动画版(jsfiddle)

$('div').click(function() {
    $(this).toggleClass('clicked');
});

正确的动画版本 (jsfiddle)
正确的动画版本 (jsbin)

$('div').click(function() {
    $(this).toggleClass('clicked', 5000, 'easeInElastic');
});

该代码适用于 jsbin,但不适用于 jsfiddle - jsfiddle 有一些奇怪的地方。这不是你的代码。
我通常避免使用 jsfiddle 来处理 jQueryUI,因为它们不能很好地结合在一起。

于 2011-02-23T16:50:16.157 回答