.fadeTo 无法延迟淡入淡出

.fadeTo not able to delay to fade

试图将淡入淡出延迟 500 到 1000,但是当我将 .fadeTo('500', 1); 更改为 .fadeTo('1000', 1); 时,它不会延迟淡入淡出。相同的时间,500 和 1000 之间没有区别。

Jquery:

$(".more-post").one("click", function () {

  $('.bottom-post').addClass('show-more').fadeTo('500', 0);

  setTimeout(function(){

    $('.bottom-post').addClass('show-more').fadeTo('500', 1);

  },4000);
});

这个Jquery淡化的非常快,那么如何淡化延迟更多.fadeTo('1000', 1);。想褪色更慢。谢谢

您应该尝试设置 fadeTo('3000', 1)。 这里 3000 表示 3 秒。您可以增加它以获得更慢的褪色。

当我删除 addClass() 并将 $(".more-post").one 更改为 $(".more -post").on 它开始工作:

$(".more-post").on("click", function() {

  $('.bottom-post').fadeTo(5000, 0);

});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="more-post">Click me to see the fade<div>
    <div class="bottom-post">Fade me slow<div>

你可以使用jqueryUI toggleClass here

$(".more-post").on("click", function() {
  $('.bottom-post').toggleClass('more-post', 3000).toggleClass("hide-post", 5000);
});
$(".hide-post").on("click", function() {
  $('.bottom-post').toggleClass("hide-post", 3000).toggleClass('more-post', 5000);
});
.more-post {
  opacity: 1;
}

.hide-post {
  opacity: 0;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<div class="more-post">Click me to see slow fading<div>
  <p class="bottom-post hide-post">More stuff to be faded in</p>