2015-01-18 1 views
0

Я пытаюсь затухать каждое слово абзаца со случайной скоростью, чтобы оно создавало эффект слов, появляющихся на бумаге. Я использую jquery и делаю это таким образом. но это швы довольно тяжелые (это так?). , пожалуйста, предложите лучший способ сделать это.fading-in каждое слово абзаца в разном случайном временном эффекте

$('body').children('.word').each(function() { 
 
    $(this).animate({ 
 
    "opacity": "1" 
 
    }, Math.floor(Math.random() * 3000) + 500); 
 
});
.word { 
 
    opacity: 0; 
 
    display: inline-block; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="word"> 
 
    hello, 
 
</div> 
 
<div class="word"> 
 
    how 
 
</div> 
 
<div class="word"> 
 
    are 
 
</div> 
 
<div class="word"> 
 
    you 
 
</div> 
 
<div class="word"> 
 
    doing 
 
</div>

+1

Может быть, это лучше использовать CSS переходы? – Rodion

+0

извините, я очень новичок в css переходах. Не могли бы вы дать мне какой-то намек. о том, как я могу это сделать. –

+0

Я отправил решение в ответ. надеюсь, что это будет полезно – Rodion

ответ

0

Другой способ использует CSS переходы

JS:

$('body').children('.word').each(function() { 
    var word = this; 
    setTimeout(function() { 
     $(word).css("opacity", 1); 
    }, Math.random() * 3000) 
}); 

CSS:

.word { 
    opacity: 0; 
    display: inline-block; 
    transition: opacity 1s linear; 
} 

http://jsfiddle.net/n427mLb8/

Вы могли бы устранить с помощью обертки вокруг каждого слова с помощью JavaScript так:

$('.content').html($('.content').text().split(/[\s,\.]+/).map(function (word) { 
    return '<div class="word">' + word + '</div>' 
}).join('')) 

http://jsfiddle.net/6e948j26/

+0

Спасибо, но могу ли я иметь эффект затухания, а также, я имею в виду, есть ли способ анимации непрозрачности с помощью css? –

+0

По крайней мере, я могу сделать что-то, что спасет меня, окружая каждое слово тегом div? –

+0

нет способа выбрать отдельные слова, не обертывая их элементом html ... но вы можете сделать обертки в js. Я показал пример в своем ответе – Rodion