【问题标题】:Trying to change div background colors in a specified sequence尝试按指定顺序更改 div 背景颜色
【发布时间】:2011-08-04 18:41:31
【问题描述】:

使用 JQuery 的 jquery.animate-colors-min.js 插件,我正在尝试按顺序更改某些 div 框的背景颜色。

$('#firstbox').animate({ backgroundColor: "#f6f6f6" }, 'slow')

上面是我用来为第一个框设置动画的方法,效果很好,但我不知道我将如何启动回调(如果可能)来为下一个指定框的背景颜色设置动画。

下面这只是一个很好的例子,尽管正如预期的那样它不起作用

    $('#firstbox').click(function(){

    $('#firstbox').animate({ backgroundColor: "#f6f6f6" }, 'slow'), function(){
                 $('#secondbox').animate({ backgroundColor: "#f6f6f6" }, 'slow');
        })

欢迎提出任何建议。

谢谢

【问题讨论】:

    标签: jquery


    【解决方案1】:

    试试这个

    $('#firstbox').click(function(){
    
        $(this).animate({ backgroundColor: "#f6f6f6" }, 'slow', function(){
                     $('#secondbox').animate({ backgroundColor: "#f6f6f6" }, 'slow');
            });
    });
    

    【讨论】:

      【解决方案2】:

      你有一个语法错误:

       $('#firstbox').animate({ backgroundColor: "#f6f6f6" }, 'slow'), function(){
           $('#secondbox').animate({ backgroundColor: "#f6f6f6" }, 'slow');
       })
      

      应该是:

       $('#firstbox').animate({ backgroundColor: "#f6f6f6" }, 'slow', function(){
           $('#secondbox').animate({ backgroundColor: "#f6f6f6" }, 'slow');
       })
      

      【讨论】:

        【解决方案3】:

        animate() 有三个参数

        $('#firstbox').click(function(){
            $('#firstbox').animate({ backgroundColor: "#f6f6f6" }, 'slow', function(){
                         $('#secondbox').animate({ backgroundColor: "#f6f6f6" }, 'slow');
            });
        });
        

        【讨论】:

        • 您好,谢谢您的回答很好。如果我想以回调函数的方式为 10 个框设置动画,是否有一种简单的方法可以将其实现在循环函数中,而不是许多重复的代码行?如果你明白我的意思吗?谢谢队友
        猜你喜欢
        • 2019-05-06
        • 2015-06-04
        • 1970-01-01
        • 2019-07-27
        • 1970-01-01
        • 1970-01-01
        • 2011-11-29
        • 2012-10-08
        相关资源
        最近更新 更多