2011-07-23 70 views
5

我目前使用jquery-animate-colors来动画边框的闪动,但我认为我的代码可以使用一些清理。什么是更好的方法来处理以下问题?闪烁的jQuery。动画()

highlightRow = function(row, count) {    
if (count == null) {        
    count = 0;          
}            
$(row).animate({         
    "border-color": "#3737A2"      
}, {            
    duration: 250,         
    complete: function() {       
    return $(row).animate({      
     "border-color": "#FFFFFF"     
    }, {           
     duration: 250,        
     complete: function() {      
      if (count === 0) {      
       return highlightRow(row, count += 1); 
      }          
     }           
    });           
    }            
});            
};             

所以我试图让这只是边框颜色闪烁两次。我发现试图动画border-color,你不能使用除十六进制代码之外的任何东西。 transparentnone都没有动画。

无论如何,寻找一些帮助清理这个!感谢提前:)

回答

10

有所谓的“搏动”一个jQuery UI的效果 - http://jqueryui.com/demos/effect/ - 可能是值得一试?

或者,如果你正在寻找一个定制解决方案,请尝试以下。您可以链接动画效果,并将它们全部添加到动画队列中;

higlightRow = function(row) { 
    $(row).stop().animate({borderColor: "#3737A2"}, 250) 
    .animate({borderColor: "#FFFFFF"}, 250) 
    .animate({borderColor: "#3737A2"}, 250) 
    .animate({borderColor: "#FFFFFF"}, 250); 
} 

应该从#3737A2改变边框颜色为#FFFFFF,以#3737A2,以#FFFFFF,然后完成。

+0

是啊,这的好多了赫克 - 谢谢! – matt

+0

我看不到'borderColor'支持在这里https://github.com/jquery/jquery-color#readme – Michele