jQuery动画不会触发' queue'功能

时间:2016-05-27 12:41:31

标签: javascript jquery css

我写了一个jQuery函数来动态淡出,然后改变然后淡入文本,不幸的是只是最后的$("span > span").animate({"opacity":"0.6"}); 没有工作,我不知道为什么。

整个脚本是:

HTML

<div class="catch-text">
    <span>Share your <span style="color:#FF00A3">creativity</span></span>
</div>

var changeText = function changeText() {
                $("span > span").animate({"opacity":"0"},1600, function() {
                    $("span > span").text("passion");
                    $("span > span").animate({"opacity":"0.6"}, 1600, function() {
                        $("span > span").animate({"opacity":"0"}, 1600);
                        $("span > span").queue(function() {
                            $("span > span").text("creativity");
                            $("span > span").animate({"opacity":"0.6"});
                        });
                    });
                });
            }

所以在jquery在没有触发后将文本更改为creative(可以工作)动画函数。

1 个答案:

答案 0 :(得分:1)

这里你不需要queue,你可以将另一个回调嵌套到第二个动画中:

var changeText = function changeText() {
  $("span > span").animate({
    "opacity": "0"
  }, 1600, function() {
    $("span > span").text("passion");
    $("span > span").animate({
      "opacity": "0.6"
    }, 1600, function() {
      $("span > span").animate({
        "opacity": "0"
      }, 1600, function() {
        // second callback
        $("span > span").text("creativity");
        $("span > span").animate({
          "opacity": "0.6"
        });
      });
    });
  });
};