В сегодняшнем обзоре вернемся к текстовой части сайта, так как у меня собралась небольшая коллекция плагинов jQuery и CSS для создания красочной анимации текста. В предыдущей статье (здесь) мы рассматривали более старые варианты похожих плагинов. А сейчас дополним ко всему этому материалу «свежую порцию» анимированных эффектов текста.
Animations.css
Подключение
<link rel='stylesheet' href='animations.css'>
HTML-код
<div class='is-animate container-exibition-text style1'> <div>h</div> <div>e</div> <div>l</div> <div>l</div> <div>o</div> </div>
Стили CSS
.is-animate.style1 > div { animation-name: style1; }
.is-animate > div {
animation-duration: 1s;
animation-fill-mode: both;
animation-iteration-count: infinite;
}
.is-animate > div:nth-child(1) { animation-delay: 0.0s }
.is-animate > div:nth-child(2) { animation-delay: 0.1s }
.is-animate > div:nth-child(3) { animation-delay: 0.2s }
.is-animate > div:nth-child(4) { animation-delay: 0.3s }
.is-animate > div:nth-child(5) { animation-delay: 0.4s }
.container-exibition-text {
font-size: 30px;
}
.container-exibition-text > div {
background-color: #3f51b5;
margin: 1px;
color: #fff;
padding: 0 12px;
border-radius: 4px;
box-shadow: 1px 1px 9px -3px #000;
display: inline-block;
}
jQuery Animated Headlines
Подключение
<link rel="stylesheet" href="jquery.animatedheadline.css"> <script src="https://code.jquery.com/jquery-2.2.0.min.js"></script> <script src="jquery.animatedheadline.min.js"></script> <script src="main.js"></script>
HTML-код
<section class="intro animate-rotate-1">
<h1 class="ah-headline">
<span>My favorite food is</span>
<span class="ah-words-wrapper">
<b class="is-visible">pizza</b>
<b>sushi</b>
<b>steak</b>
<b>привет</b>
</span>
</h1>
</section>
Typed.js
Подключение
<script src='typed.js'></script>
<script>
document.addEventListener('DOMContentLoaded', function() {
Typed.new("#typed", {
stringsElement: document.getElementById('typed-strings'),
typeSpeed: 30,
backDelay: 500,
loop: false,
contentType: 'html', // or text
// defaults to null for infinite loop
loopCount: null,
callback: function() {
foo();
},
resetCallback: function() {
newTyped();
}
});
var resetElement = document.querySelector('.reset');
if (resetElement) {
resetElement.addEventListener('click', function() {
document.getElementById('typed')._typed.reset();
});
}
});
function newTyped() { /* A new typed object */ }
function foo() {
console.log("Callback");
}
</script>
HTML-код
<div id="typed-strings"> <span>Typed.js is a <strong>JavaScript</strong> library.</span> <p>It <em>types</em> out sentences.</p> <p>And then deletes them.</p> <p>Try it out!</p> <p>На этом все!</p> </div> <span id="typed" style="white-space:pre;"></span>
Стили CSS
.typed-cursor{
opacity: 1;
font-weight: 100;
-webkit-animation: blink 0.7s infinite;
-moz-animation: blink 0.7s infinite;
-ms-animation: blink 0.7s infinite;
-o-animation: blink 0.7s infinite;
animation: blink 0.7s infinite;
}
@-keyframes blink{
0% { opacity:1; }
50% { opacity:0; }
100% { opacity:1; }
}
@-webkit-keyframes blink{
0% { opacity:1; }
50% { opacity:0; }
100% { opacity:1; }
}
@-moz-keyframes blink{
0% { opacity:1; }
50% { opacity:0; }
100% { opacity:1; }
}
@-ms-keyframes blink{
0% { opacity:1; }
50% { opacity:0; }
100% { opacity:1; }
}
@-o-keyframes blink{
0% { opacity:1; }
50% { opacity:0; }
100% { opacity:1; }
}
.typed-fade-out{
opacity: 0;
animation: 0;
transition: opacity .25s;
}
danceWord
Подключение
<link type="text/css" rel="stylesheet" href="d.css"> <script src="https://code.jquery.com/jquery-2.2.0.min.js"></script> <script type="text/javascript" src="d.js"></script>
HTML-код
<p class="danceWord-s2"> Каждый веб-разработчик знает, что такое текст-«рыба». </p>
ShuffleText
Подключение
<script type="text/javascript" src="shuffle-text.js"></script>
<script>
window.addEventListener('load', init);
function init() {
var effectList = [];
var elementList = document.querySelectorAll('.my-effect');
for (var i = 0; i < elementList.length; i++) {
var element = elementList[i];
element.dataset.index = i;
effectList[i] = new ShuffleText(element);
element.addEventListener('mouseenter', function () {
effectList[+this.dataset.index].start();
});
element.addEventListener('mouseleave', function () {
effectList[+this.dataset.index].start();
});
effectList[i].start();
}
}
</script>
HTML-код
<ul> <li class="my-effect">2012/01/25 INDEX PAGE UPDATE.</li> <li class="my-effect">2012/01/20 NEWS PAGE UPDATE.</li> <li class="my-effect">2012/01/16 ABOUT PAGE UPDATE.</li> <li class="my-effect">2012/01/12 LAUNCHED.</li> </ul>




