【问题标题】:jQuery rotator jumps instead of fading from one to the otherjQuery rotator 跳跃而不是从一个到另一个淡入淡出
【发布时间】:2015-02-26 12:02:46
【问题描述】:

我尝试编写一个简单的 jQuery 旋转器来在小部件中显示不断变化的 HTML 内容。

小部件本身可以工作,每个 div 都会淡入淡出,但它们似乎重叠,导致两个 div 都显示一瞬间。

如何使可见的 div 淡出,在显示为 none 后,另一个 div 开始淡入?

function fadeNext() {
    $('#patient-stories .patient-story-single').first().fadeOut('slow').appendTo($('#patient-stories .inner'));
    $('#patient-stories .patient-story-single').first().fadeIn('slow');
}

http://jsfiddle.net/9f2bh164/

更新:

我已经设法接近了一点,因为每个 div 在下一个 div 淡入之前淡出,但它没有循环,即。显示所有 div 后返回开始。

http://jsfiddle.net/9f2bh164/2/

已解决:

http://jsfiddle.net/9f2bh164/3/

【问题讨论】:

  • 这是你自己的练习例子吗?你可以使用rotator plugin
  • 我选择不使用插件,只是为了减少不必要的东西并保持轻量级。此外,它需要少一个库来加载!

标签: jquery


【解决方案1】:

将连续的动画放在前一个的回调中,以确保它们遵循顺序。

function fadeNext() {
  $('#div1').fadeOut('slow', function() {
    $('#div2').fadeIn('slow');
  });
}

【讨论】:

  • 我不认为它这么简单,因为这会显示它们并将它们都淡化为一个 div - jsfiddle.net/9f2bh164/1
  • 设法让它工作起来有点摆弄,谢谢你的回答,这引导我朝着正确的方向前进!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多