jQuery 链接 css 背景颜色,仅有效一次

jQuery chaining css background-color, only works once

我正在尝试将段落的背景颜色更改与 jQuery 链接起来。以下代码在第一次点击时起作用:将颜色更改为绿色,隐藏它,显示它,然后将颜色更改为黄色。

第二次点击时,颜色变为绿色,但没有其他反应。没有进一步的点击可以做任何事情。怎么了?

$( "#p1" ).click(function( event ) {
$("#p1").css("background-color","green").slideUp(2000).slideDown(2000).queue( 
function() { $("#p1").css("background-color", "yellow"); }
);
});

这里不需要使用.queue,这样就可以了:

$("#p1").click(function(event) {
  $("#p1").css("background-color", "green").slideUp(2000).slideDown(2000, function() {
    $("#p1").css("background-color", "yellow");
  });
});

或者,使用 .clearQueue

$("#p1").click(function(event) {
  $("#p1").clearQueue().css("background-color", "green").slideUp(2000).slideDown(2000).queue(
    function() {
      $("#p1").css("background-color", "yellow");
    });
});