Я искал решение этой проблемы, но не полагался на jQuery UI.
Это то, что я придумал, и это работает для меня (без плагинов, только Javascript и jQuery);
- Вот рабочая скрипка - http://jsfiddle.net/CriddleCraddle/yYcaY/2/
Установите текущий параметр CSS в вашем файле CSS как обычный css, и создайте новый класс, который просто обрабатывает параметр, чтобы изменить его, например, background-color, и установите его в «! Important», чтобы переопределить поведение по умолчанию. как это ...
.button_flash {
background-color: #8DABFF !important;
}//This is the color to change to.
Затем просто используйте приведенную ниже функцию и передайте элемент DOM в виде строки, целое число для числа раз, которое вы хотите, чтобы произошла флэш-память, класс, который вы хотите изменить, и целое число для задержки.
Примечание: если вы передадите четное число для переменной 'times', вы получите класс, с которого вы начали, а если вы передадите нечетное число, вы получите переключаемый класс. Оба полезны для разных вещей. Я использую «i», чтобы изменить время задержки, иначе они будут срабатывать одновременно, и эффект будет потерян.
function flashIt(element, times, klass, delay){
for (var i=0; i < times; i++){
setTimeout(function(){
$(element).toggleClass(klass);
}, delay + (300 * i));
};
};
//Then run the following code with either another delay to delay the original start, or
// without another delay. I have provided both options below.
//without a start delay just call
flashIt('.info_status button', 10, 'button_flash', 500)
//with a start delay just call
setTimeout(function(){
flashIt('.info_status button', 10, 'button_flash', 500)
}, 4700);
// Just change the 4700 above to your liking for the start delay. In this case,
//I need about five seconds before the flash started.