jQuery切换元素样式但暂时暂停

时间:2011-09-01 09:02:14

标签: javascript jquery

我有一个元素,我正在切换样式(如开/关按钮)。如果它当前处于“打开”状态,请将样式更改为“关闭”,反之亦然。

然而,在某些情况下,我想执行上述操作,但后来恢复到原始状态(取消切换),但我希望通过它的非常简短的样式更改将其反映给用户(所以对于1/2秒,看起来它已经改变了风格,但后来恢复到原来的状态。

我目前正在使用以下代码切换我的按钮状态:

myButton.toggleClass('button-off').toggleClass('button-on');

我尝试在上面和上面一行的“翻转”之间链接delay(500),但这不起作用。

2 个答案:

答案 0 :(得分:5)

我会做这样的事情:

$('#myButton').click(function() {
    var that = $(this);
    that.toggleClass('button-off button-on');
    setTimeout(function() { that.toggleClass('button-off button-on'); }, 500);
});

您需要切换两个类以在它们之间切换。

JSBin Example

答案 1 :(得分:3)

这应该有效:

myButton.toggleClass('button-off');
setTimeout(function() {
    myButton.toggleClass('button-on');
}, 500);