需要关于jquery每个动画的帮助

时间:2012-05-16 10:57:13

标签: jquery jquery-animate

我是jQuery的新手。我想开发一个工具提示动画,它将出现在第一个房子(最左边),然后出现在第二个房子,然后在第三个和第四个房子上相同,然后从第一个房子开始。我也想在房子上悬停效果。当鼠标将在任何房屋上方时,将显示该房屋的相应工具提示。这是代码;

<script type="text/javascript">
$(document).ready(function() {

    var bubble = $('.bubble-tooltip');
    bubble
        .eq(0).delay(1500).fadeIn('slow').delay(1000).fadeOut('slow')
        .eq(1).delay(2000).fadeIn('slow').delay(1000).fadeOut('slow')
        .eq(2).delay(2500).fadeIn('slow').delay(1000).fadeOut('slow')
        .eq(4).delay(3000).fadeIn('slow').delay(1000).fadeOut('slow');

    $('.cloud').delay(5000).fadeIn('slow', function() {
        $(this).animate(
            {'left': -35},
            {duration: 2000}
        )
        //bubble.delay(1000).fadeOut('slow');
        $('.bg-overlay').fadeIn(2000)
    });

});

我也试过其他方法来实现我的目标,但没有运气。需要帮助和提前感谢。 这是网站网址。 http://umairdesigner.com/builder/

2 个答案:

答案 0 :(得分:0)

这应该可以解决你的问题:

var bubble = $('.bubble-tooltip');

bubble.eq(0).delay(1500).fadeIn('slow').delay(1000).fadeOut('slow');
bubble.eq(1).delay(2000).fadeIn('slow').delay(1000).fadeOut('slow');
bubble.eq(2).delay(2500).fadeIn('slow').delay(1000).fadeOut('slow');
bubble.eq(4).delay(3000).fadeIn('slow').delay(1000).fadeOut('slow');

它不会链接在一起,因为.fadeOut('slow')的返回值不会是您的气泡集合 - 因此.eq()的进一步使用将无效。

答案 1 :(得分:0)

我认为你可以这样做:

var bubble = $('.bubble-tooltip');
var j = 0;
$(bubble).each(function(i){
    $(bubble[j]).delay(1500).fadeIn('slow').delay(1000).fadeOut('slow', function(){
        $(bubble[j + 1]).delay(1500).fadeIn('slow').delay(1000).fadeOut('slow');
        j++;
    });
});

或4个固定房屋:

var bubble = $('.bubble-tooltip');
  bubble.eq(0).fadeIn('slow').delay(1000).fadeOut('slow', function(){
    bubble.eq(1).fadeIn('slow').delay(1000).fadeOut('slow', function(){
      bubble.eq(2).fadeIn('slow').delay(1000).fadeOut('slow', function(){
        bubble.eq(3).fadeIn('slow').delay(1000).fadeOut('slow', function(){
          bubble.eq(4).fadeIn('slow').delay(1000).fadeOut('slow');
        });
      });
    });
  });