Я новичок в jQuery и имею некоторый опыт использования Prototype. В Prototype есть метод «прошить» элемент - т.е. кратко выделите его другим цветом и верните его в нормальное состояние, чтобы на него обратил взгляд пользователя. Есть ли такой метод в JQuery? Я вижу fadeIn, fadeOut и animate, но я не вижу ничего похожего на «flash». Возможно, один из этих трех может быть использован с соответствующими входами?
249
$.fn.flash = function(times, duration) { var T = this; times = times || 3; duration = duration || 200; for ( var i=0; i < times; i++ ) { (function() { setTimeout(function() { T.fadeOut(duration, function() { T.fadeIn(duration); }); }, i*duration*2+50); })(i); } };
text-decoration:blink
затем удалите его.Ответы:
Мой путь - .fadein, .fadeout .fadein, .fadeout ......
Показать фрагмент кода
источник
$('..').delay(100).fadeOut().fadeIn('slow')
var $someElement = $("#someElement"); $someElement.fadeIn(100, function(){ $someElement.fadeOut(100, function(){ /*...etc...*/ }) })
Вы можете использовать плагин jQuery Color .
Например, чтобы привлечь внимание ко всем элементам div на вашей странице, вы можете использовать следующий код:
Редактировать - Новое и улучшенное
Далее используется та же методика, что и выше, но она имеет дополнительные преимущества:
Расширить объект jQuery:
Пример использования:
источник
Note: The jQuery UI project extends the .animate() method by allowing some non-numeric styles such as colors to be animated.
- Если вы хотите анимировать цвет, вам необходим пользовательский интерфейс jQuery или какой-либо другой плагин.Вы можете использовать анимацию CSS3, чтобы прошить элемент
И вы JQuery, чтобы добавить класс
источник
@keyframes
иanimation
правила, поэтому нет необходимости использовать какие - либо приставочные версии , кроме , может быть-webkit-
(для браузера Blackberry).Через 5 лет ... (и никаких дополнительных плагинов не требуется)
Этот «пульсирует» его к желаемому цвету (например, белому), помещая за ним цвет фона div , а затем затемняя объект снова и снова.
HTML- объект (например, кнопка):
jQuery (ваниль, других плагинов нет):
элемент - имя класса
первое число в
fadeTo()
- миллисекунды для переходавторое число в
fadeTo()
- непрозрачность объекта после исчезновения / исчезновенияВы можете проверить это в правом нижнем углу этой веб-страницы: https://single.majlovesreg.one/v1/
Отредактируйте (willsteel) без дублированного селектора, используя $ (this) и подправленные значения для точного выполнения флеш-памяти (как запрошено OP).
источник
fadeTo(0000)
- Metallica$.fn.flashUnlimited=function(){$(this).fadeTo('medium',0.3,function(){$(this).fadeTo('medium',1.0,$(this).flashUnlimited);});}
Вы можете затем назвать это как$('#mydiv').flashUnlimited();
- Он делает то, что ответил Маджал выше, и снова вызывает себя в конце цикла.Я думаю, вы могли бы использовать эффект выделения в пользовательском интерфейсе jQuery, чтобы добиться того же.
источник
Если вы используете jQueryUI, есть
pulsate
функция вUI/Effects
http://docs.jquery.com/UI/Effects/Pulsate
источник
pulsate
отлично работает в Chrome.источник
fadeIn
иfadeOut
воздействии на другие элементы одного уровня, так как он переключаетdisplay
свойство css , в моем случае выглядит странно. Но это исправить проблему. Спасибо, это работает элегантно, как шарм.Вы можете использовать этот плагин (поместите его в файл js и используйте его через скрипт-тег)
http://plugins.jquery.com/project/color
А затем используйте что-то вроде этого:
Это добавляет метод flash для всех объектов jQuery:
источник
Вы можете расширить метод Дешенга Ли, позволив счетчику итераций делать несколько вспышек, например:
Затем вы можете вызвать метод с указанием времени и количества вспышек:
источник
var iterationDuration = Math.floor(duration / iterations);
так, чтобы вы могли делить на нечетные числа и сделатьreturn this;
так, чтобы вы могли цеплять другие методы после него.Чистое решение jQuery.
(не требуется JQuery-UI / анимация / цвет.)
Если все, что вам нужно, это желтый "flash" эффект без загрузки цвета jquery:
Вышеприведенный скрипт просто выполняет 1с желтого затухания, идеально подходит для того, чтобы сообщить пользователю, что элемент был обновлен или что-то подобное.
Использование:
источник
Это может быть более актуальный ответ, и он короче, так как все было несколько консолидировано после этого поста. Требуется jquery-ui-effect-highlight .
http://docs.jquery.com/UI/Effects/Highlight
источник
Как насчет действительно простого ответа?
$('selector').fadeTo('fast',0).fadeTo('fast',1).fadeTo('fast',0).fadeTo('fast',1)
Мигает дважды ... вот и все, ребята!
источник
Я не могу поверить, что это еще не по этому вопросу. Все, что тебе нужно сделать:
Это именно то , что вы хотите сделать, это просто супер, работает как
show()
иhide()
методы.источник
Был бы
импульсный эффект(оффлайн) Плагин JQuery подойдет для того, что вы ищете?Вы можете добавить продолжительность для ограничения эффекта импульса во времени.
Как упомянул JP в комментариях, теперь есть его обновленный импульсный плагин .
Смотрите его репозиторий GitHub . И вот демо .
источник
источник
Обнаружил это много лун позже, но если кому-то все равно, похоже, что это хороший способ получить что-то, чтобы постоянно мигать:
источник
Следующие коды работают для меня. Определите две функции постепенного появления и исчезновения и поместите их в обратный вызов друг друга.
Следующие контролирует время вспышек:
источник
Я искал решение этой проблемы, но не полагаясь на jQuery UI.
Это то, что я придумал, и это работает для меня (без плагинов, только Javascript и jQuery); - Вот рабочая скрипка - http://jsfiddle.net/CriddleCraddle/yYcaY/2/
Установите текущий параметр CSS в вашем файле CSS как обычный css, и создайте новый класс, который просто обрабатывает параметр, который нужно изменить, т.е. background-color, и установите для него значение «! Important», чтобы переопределить поведение по умолчанию. как это...
Затем просто используйте функцию ниже и передайте элемент DOM в виде строки, целое число для числа раз, которое вы хотите, чтобы произошла вспышка, класс, который вы хотите изменить, и целое число для задержки.
Примечание: если вы передадите четное число для переменной 'times', вы получите класс, с которого вы начали, а если вы передадите нечетное число, вы получите переключаемый класс. Оба полезны для разных вещей. Я использую 'i', чтобы изменить время задержки, или они будут срабатывать одновременно, и эффект будет потерян.
источник
Как и fadein / fadeout, вы можете использовать анимацию css / delay
Простой и гибкий
источник
3000 это 3 секунды
От непрозрачности 1 оно уменьшается до 0,3, затем до 1 и так далее.
Вы можете сложить больше из них.
Нужен только jQuery. :)
источник
Существует обходной путь для ошибки фонового анимации. Эта суть включает в себя пример простого метода выделения и его использования.
https://gist.github.com/1068231
источник
Если включение библиотеки является излишним, вот решение, которое гарантированно сработает.
Настройка события триггера
Установить цвет фона элемента блока
Внутри setTimeout используйте fadeOut и fadeIn для создания небольшого анимационного эффекта.
Внутри второго setTimeout сбрасывается цвет фона по умолчанию
Протестировано в нескольких браузерах и работает хорошо.
источник
К сожалению, верхний ответ требует JQuery UI. http://api.jquery.com/animate/
Вот ванильное решение JQuery
http://jsfiddle.net/EfKBg/
JS
CSS
HTML
источник
flash
объект jQuery, он работает нормально.var flash = $("<div class='flash'></div>"); $(".hello").prepend(flash); flash.show().fadeOut('slow');
Вот немного улучшенная версия решения Colbeerhey. Я добавил оператор return, чтобы в истинной форме jQuery мы связывали события после вызова анимации. Я также добавил аргументы, чтобы очистить очередь и перейти к концу анимации.
источник
Этот будет пульсировать цвет фона элемента, пока не произойдет событие наведения мыши
источник
Соберите все это вместе - простое решение для перепрошивки элемента и возврата к исходному bgcolour ...
Используйте как это:
Надеюсь это поможет!
источник
eval
!Вот решение, которое использует сочетание анимации jQuery и CSS3.
http://jsfiddle.net/padfv0u9/2/
По сути, вы начинаете с изменения цвета на свой «флэш», а затем используете анимацию CSS3, чтобы позволить цвету исчезнуть. Вам нужно изменить длительность перехода, чтобы начальная «вспышка» была быстрее затухания.
Где CSS классы следующие.
источник
просто дайте elem.fadeOut (10) .fadeIn (10);
источник
Это достаточно универсально, так что вы можете написать любой код для анимации. Вы даже можете уменьшить задержку с 300 мс до 33 мс, затемнить цвета и т. Д.
источник
Вы можете использовать плагин jquery Pulsate, чтобы сосредоточить внимание на любом элементе HTML с контролем скорости, повторения и цвета.
JQuery.pulsate () * с демонстрациями
инициализатор образца:
источник