Мигает jQuery .animation () - PullRequest
       29

Мигает jQuery .animation ()

5 голосов
/ 23 июля 2011

В настоящее время я использую jquery-animate-colors для анимации мигания границы, но я думаю, что мой код может использовать некоторую очистку.Какой лучший способ подойти к следующему?

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, вы не можете использовать ничего, кроме шестнадцатеричных кодов.transparent и none оба ничего не оживляют вообще.

В любом случае, ищите какую-нибудь помощь, чтобы убрать это!Спасибо впереди:)

1 Ответ

10 голосов
/ 23 июля 2011

Есть какой-то эффект пользовательского интерфейса jQuery под названием 'pulsate' - 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 и затем закончить.

...