30 ответов:
попробуйте использовать этот плагин blink
$('.blink').blink(); // default is 500ms blink interval. //$('.blink').blink(100); // causes a 100ms blink interval.Это тоже очень простой плагин, и вы могли бы расширить его, чтобы остановить анимацию и запустить его по требованию.
плагин мигать какой-то текст звучит как перебор для меня...
попробуйте это...
$('.blink').each(function() { var elem = $(this); setInterval(function() { if (elem.css('visibility') == 'hidden') { elem.css('visibility', 'visible'); } else { elem.css('visibility', 'hidden'); } }, 500); });
вот мигает с анимацией:
$(".blink").animate({opacity:0},200,"linear",function(){ $(this).animate({opacity:1},200); });просто дайте мигать класс все, что вы хотите мигать:
<div class="someclass blink">some text</div>все, что касается DannyZB на #и jQuery
характеристики:
- не нужно никаких плагинов (но сам JQuery)
- делает вещь
Если вы не хотите использовать jQuery, это может быть достигнуто с помощью CSS3
@-webkit-keyframes blink { from { opacity: 1.0; } to { opacity: 0.0; } } blink { -webkit-animation-name: blink; -webkit-animation-iteration-count: infinite; -webkit-animation-timing-function: cubic-bezier(1.0,0,0,1.0); -webkit-animation-duration: 1s; }Кажется, работает в Chrome, хотя мне показалось, что я услышал легкий всхлипывающий шум.
объединить коды выше, я думаю, что это хорошее решение.
function blink(selector){ $(selector).animate({opacity:0}, 50, "linear", function(){ $(this).delay(800); $(this).animate({opacity:1}, 50, function(){ blink(this); }); $(this).delay(800); }); }по крайней мере, он работает в моем интернете. http://140.138.168.123/2y78%202782
вот мой ; это дает вам контроль над 3 параметрами, которые имеют значение:
- исчезают в скорости
- скорость затухания
- скорость повтора
.
setInterval(function() { $('.blink').fadeIn(300).fadeOut(500); }, 1000);
вы также можете попробовать эти:
<div>some <span class="blink">text</span> are <span class="blink">blinking</span></div> <button onclick="startBlink()">blink</button> <button onclick="stopBlink()">no blink</button> <script> function startBlink(){ window.blinker = setInterval(function(){ if(window.blink){ $('.blink').css('color','blue'); window.blink=false; } else{ $('.blink').css('color','white'); window.blink = true; } },500); } function stopBlink(){ if(window.blinker) clearInterval(window.blinker); } </script>
вы также можете использовать стандартный способ CSS (нет необходимости в плагине JQuery, но совместим со всеми браузерами):
// Start blinking $(".myblink").css("text-decoration", "blink"); // Stop blinking $(".myblink").css("text-decoration", "none");
$.fn.blink = function(times, duration) { times = times || 2; while (times--) { this.fadeTo(duration, 0).fadeTo(duration, 1); } return this; };
Это самый простой путь (и с наименьшим кодированием):
setInterval(function() { $( ".blink" ).fadeToggle(); }, 500);теперь, если вы ищете что-то более изощренными...
//Blink settings var blink = { obj: $(".blink"), timeout: 15000, speed: 1000 }; //Start function blink.fn = setInterval(function () { blink.obj.fadeToggle(blink.speed); }, blink.speed + 1); //Ends blinking, after 'blink.timeout' millisecons setTimeout(function () { clearInterval(blink.fn); //Ensure that the element is always visible blink.obj.fadeIn(blink.speed); blink = null; }, blink.timeout);
здесь вы можете найти jQuery blink plugin с его быстро демо.
базовый мигает (неограниченное мигание, период мигания ~1 сек):
$('selector').blink();при более расширенном использовании вы можете переопределить любые настройки:
$('selector').blink({ maxBlinks: 60, blinkPeriod: 1000, // in milliseconds onBlink: function(){}, onMaxBlinks: function(){} });там вы можете указать максимальное количество миганий, а также иметь доступ к нескольким обратным вызовам:
onBlinkиonMaxBlinksЭто довольно самоочевидно.работает в IE 7 & 8, Chrome, Firefox, Safari и, вероятно, в IE 6 и Opera (хотя и не тестировались на них).
(в полном раскрытии: я являюсь создателем этого предыдущего. У нас была законная необходимость использовать его на работе [Я знаю, что мы все хотели сказать этим :-)] для сигнализации в системе, и я думал о совместном использовании только для использования по законной необходимости; -)).
вот еще один список jQuery blink Плагины.
этот код работает для меня
$(document).ready(function () { setInterval(function(){ $(".blink").fadeOut(function () { $(this).fadeIn(); }); } ,100) });
$(".myblink").css("text-decoration", "blink");не работает с IE 7 & Safari. Хорошо работает с Firefox
это автономное решение будет мигать текст определенное количество раз, а затем остановится.
мигание использует непрозрачность, а не показывает/скрывает, исчезает или переключается, чтобы DIV оставался кликабельным, в случае, если это когда-либо проблема (позволяет создавать кнопки с мигающим текстом).
jsFiddle здесь (содержит дополнительные замечания)
<html> <head> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> <script type="text/javascript"> $(document).ready(function() { var init = 0; $('#clignotant').click(function() { if (init==0) { init++; blink(this, 800, 4); }else{ alert('Not document.load, so process the click event'); } }); function blink(selector, blink_speed, iterations, counter){ counter = counter | 0; $(selector).animate({opacity:0}, 50, "linear", function(){ $(this).delay(blink_speed); $(this).animate({opacity:1}, 50, function(){ counter++; if (iterations == -1) { blink(this, blink_speed, iterations, counter); }else if (counter >= iterations) { return false; }else{ blink(this, blink_speed, iterations, counter); } }); $(this).delay(blink_speed); }); } //This line must come *AFTER* the $('#clignotant').click() function !! window.load($('#clignotant').trigger('click')); }); //END $(document).ready() </script> </head> <body> <div id="clignotant" style="background-color:#FF6666;width:500px; height:100px;text-align:center;"> <br> Usage: blink(selector, blink_speed, iterations) <br /> <span style="font-weight:bold;color:blue;">if iterations == -1 blink forever</span><br /> Note: fn call intentionally missing 4th param </div> </body> </html>источники:
Дэнни Хименес
Моисей Кристиан
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.1.min.js"></script> <div id="msg"> <strong><font color="red">Awesome Gallery By Anil Labs</font></strong></p> </div> <script type="text/javascript" > function blink(selector){ $(selector).fadeOut('slow', function(){ $(this).fadeIn('slow', function(){ blink(this); }); }); } blink('#msg'); </script>
Я собирался опубликовать
steps-timed polyfill, но потом я вспомнил, что я действительно не хочу никогда видеть этот эффект, так что...function blink(element, interval) { var visible = true; setInterval(function() { visible = !visible; element.style.visibility = visible ? "visible" : "hidden"; }, interval || 1000); }
Я чувствую, что следующее имеет большую ясность и настройку, чем другие ответы.
var element_to_blink=$('#id_of_element_to_blink'); var min_opacity=0.2; var max_opacity=1.0; var blink_duration=2000; var blink_quantity=10; var current_blink_number=0; while(current_blink_number<blink_quantity){ element_to_blink.animate({opacity:min_opacity},(blink_duration/2),"linear"); element_to_blink.animate({opacity:max_opacity},(blink_duration/2),"linear"); current_blink_number+=1; }
мигает !
var counter = 5; // Blinking the link 5 times var $help = $('div.help'); var blinkHelp = function() { ($help.is(':visible') ? $help.fadeOut(250) : $help.fadeIn(250)); counter--; if (counter >= 0) setTimeout(blinkHelp, 500); }; blinkHelp();
этот код может помочь в этой теме. Просто, но полезно.
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.1.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ setInterval("$('#myID/.myClass').toggle();",500); }); </script>
Мне нравится ответ Алекса, так что это немного расширение этого без интервала (так как вам нужно будет очистить этот интервал в конечном итоге и знать, когда вы хотите, чтобы кнопка перестала мигать. Это решение, в котором вы передаете элемент jquery, ms, который вы хотите для смещения мигания, и количество раз, когда вы хотите, чтобы элемент мигал:
function blink ($element, ms, times) { for (var i = 0; i < times; i++) { window.setTimeout(function () { if ($element.is(':visible')) { $element.hide(); } else { $element.show(); } }, ms * (times + 1)); } }
некоторые из этих ответов довольно сложны, это немного проще:
$.fn.blink = function(time) { var time = typeof time == 'undefined' ? 200 : time; this.hide(0).delay(time).show(0); } $('#msg').blink();
видя количество просмотров по этому вопросу и отсутствие ответов, которые охватывают как мигание, так и его остановку, здесь идет: попробуйте jQuery.мигалка из (демо).
HTML:
<p>Hello there!</p>JavaScript:
var p = $("p"); p.blinker(); p.bind({ // pause blinking on mouseenter mouseenter: function(){ $(this).data("blinker").pause(); }, // resume blinking on mouseleave mouseleave: function(){ $(this).data("blinker").blinkagain(); } });
действительно плагин для простого эффекта мигания является излишним. Поэтому после экспериментов с различными решениями я выбрал между одной строкой javascript и классом CSS, который точно управляет тем, как я хочу мигать элементами (в моем случае для работы мигания мне нужно только изменить фон на прозрачный, чтобы текст все еще был виден):
JS:
$(document).ready(function () { setInterval(function () { $(".blink").toggleClass("no-bg"); }, 1000); });CSS:
span.no-bg { background-color: transparent; }полный пример на этом в JS скрипку.
функция Blink может быть реализована с помощью простого javascript, не требуется плагин jquery или даже jquery.
это будет работать в все браузеры, так как он, используя основные возможности
здесь код
HTML:
<p id="blinkThis">This will blink</p>JS код:
var ele = document.getElementById('blinkThis'); setInterval(function () { ele.style.display = (ele.style.display == 'block' ? 'none' : 'block'); }, 500);
Это то, что лучше работает для меня. Я использовал jQuery fadeTo, потому что это на WordPress, который уже связывает jQuery. В противном случае я, вероятно, выбрал бы что-то с чистым JavaScript, прежде чем добавлять другой http-запрос для плагина.
$(document).ready(function() { // One "blink" takes 1.5s setInterval(function(){ // Immediately fade to opacity: 0 in 0ms $(".cursor").fadeTo( 0, 0); // Wait .75sec then fade to opacity: 1 in 0ms setTimeout(function(){ $(".cursor").fadeTo( 0, 1); }, 750); }, 1500); });
Я написал простое расширение jquery для text blink, указав количество раз, когда он должен мигать текст, надеюсь, что это поможет другим.
//add Blink function to jquery jQuery.fn.extend({ Blink: function (i) { var c = i; if (i===-1 || c-- > 0) $(this).fadeTo("slow", 0.1, function () { $(this).fadeTo("slow", 1, function () { $(this).Blink(c); }); }); } }); //Use it like this $(".mytext").Blink(2); //Where 2 denotes number of time it should blink. //For continuous blink use -1 $(".mytext").Blink(-1);
текст мигает старт и стоп на кнопке click -
<input type="button" id="btnclick" value="click" /> var intervalA; var intervalB; $(document).ready(function () { $('#btnclick').click(function () { blinkFont(); setTimeout(function () { clearInterval(intervalA); clearInterval(intervalB); }, 5000); }); }); function blinkFont() { document.getElementById("blink").style.color = "red" document.getElementById("blink").style.background = "black" intervalA = setTimeout("blinkFont()", 500); } function setblinkFont() { document.getElementById("blink").style.color = "black" document.getElementById("blink").style.background = "red" intervalB = setTimeout("blinkFont()", 500); } </script> <div id="blink" class="live-chat"> <span>This is blinking text and background</span> </div>
самый простой способ:
$(".element").fadeTo(250, 0).fadeTo(250,1).fadeTo(250,0).fadeTo(250,1);вы можете повторять это столько, сколько вы хотите, или вы можете использовать его внутри цикла. первый параметр fadeTo () - это длительность действия fade, а второй параметр-непрозрачность.
этот код будет эффективно сделать элемент(ы) Блинк не касаясь макета (например,
fadeIn().fadeOut()будет делать), просто действуя на непрозрачность ; там вы идете, мигающий текст ; можно использовать для обоих хорошо и зла :)setInterval(function() { $('.blink').animate({ opacity: 1 }, 400).animate({ opacity: 0 }, 600); }, 800);
Comments