Для реализации некоторых текстовых эффектов без JavaScript (или, например, jQuery) не обойтись.
Так без них невозможно сделать эффект мигания текста (как отдельных слов так и целых блоков).
Далее пример создания мигающего текста на чистом JavaScript и с использованием jQuery.
Мигающий текст на JavaScript:
<html> <body onload="setInterval('blinkIt()',500)"> <script type="text/javascript"> function blinkIt() { if (!document.all) return; else { for(i=0;i<document.all.tags('blink').length;i++){ s=document.all.tags('blink')[i]; s.style.visibility=(s.style.visibility=='visible')?'hidden':'visible'; } } } </script> <blink>Мигающий текст</blink> </body> </html> |
Мигающий текст на jQuery:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Blinking Text</title> <script type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js"></script> <script type="text/javascript"> $(function(){ $("#blinkingText").hide(); setTimeout(function(){$("#blinkingText").show();setInterval(function(){$("#blinkingText").toggle();},500)},3000); }); </script> </head> <body> <p id="blinkingText">Blinking Text</p> <p style="position: absolute; top: 50px;"><a href="#">Hide Blinking Text (set display: none)</a></p> </body> </html> |
Плавно мигающий текст с использованием прозрачности на jQuery:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> $(document).ready(function(){ $.fn.wait = function(time, type) { time = time || 1000; type = type || "fx"; return this.queue(type, function() { var self = this; setTimeout(function() { $(self).dequeue(); }, time); }); }; function runIt() { $("span").wait() .animate({"opacity": 0.1},2000) .wait() .animate({"opacity": 1},1500,runIt); } runIt(); }); </script> </head> <body> <p>Немигающий текст1, <span>мигающий текст1</span>, не мигащий текст2 <span>мигающий текст2</span>.</p> </body> </html> |
А в Опере первый вариант на Javascript не работает...
Проверил в своей Opera 10.10 ? работает. Может у вас выключен JavaScript в «быстрых настройках» (F12).
Добавил в пример пару тегов.
Спасибо. Классная и работающая вещь!
Спасибо за код, который искал 2 дня!
А как остановить?
Спасибо! Полезная вещь. Учитывая, что поддерживает, кажется, только FF браузер.
To EnCHikiben: смотри функцию stop() (jQuery)
Привет IL82, да вроде во всех работает. И кстати зачем вставлять тег blink в коммент? Просто интересно ))
[UPD] хотя надо будет просто пример в статью вставить
Большое спасибо, очень помогло!!!! )))))))
IE8 — не желает работать. Может кто подсказать, как заставить работать 3-й скрипт на этом браузере?
есть еще такой метод
text-decoration:blink
Да, только гарантированно работает он только в Opera и Mozilla судя по информации на htmlbook.ru и еще тут, но все равно спасибо за напоминание.
Спасибо большое, с первого раза заработало.
Спасибо за код! На днях только начну изучать jquery, a пока хотел спросить как изменить приведенный jquery-код, чтобы при наведении мыши анимация останавливалась, и текст становился «opacity»: 1, а когда курсор уходит — начиналась бы снова. Попробовал сам наковырять с учебниками, но так и не сумел.
Как заставить работать в Safari? Очень нужен эффект мигания именно для Сафари, будь он неладен!
Спасибо!!
Не очень поняла во втором варианте Hide Blinking Text (set display: none)
И еще во втором варианте лучше поместить мигающий текст в div c фиксированной высотой, чтобы текст под мигалкой не скакал.