<p class="example">i want to split this paragraph into
words and fade them in one by one</p>
Run Code Online (Sandbox Code Playgroud)
jquery/js:
$(document).ready(function() {
var $txt = $(".example")
,$words = $txt.text()
,$splitWords = $words.split(" ");
$txt.hide();
for(i = 0; i < $splitWords.length; i++){
// i want fade in each $splitWords[i]
//$splitWords[i].fadeIn(.... - i tried this doesnt work
}
});
Run Code Online (Sandbox Code Playgroud)
我试图将段落分成单词,并逐一淡化它们,这可能是一个更简单的方法来做到这一点而不分裂的话,请对此有所了解.谢谢
use*_*654 15
文本本身不能具有不透明度,因此必须使用可以具有不透明度的元素(例如span)来包装文本.然后你可以淡出这些跨度.
试试这个:
var $el = $(".example:first"), text = $el.text(),
words = text.split(" "), html = "";
for (var i = 0; i < words.length; i++) {
html += "<span>" + words[i] + " </span>";
}
$el.html(html).children().hide().each(function(i){
$(this).delay(i*500).fadeIn(700);
});
Run Code Online (Sandbox Code Playgroud)
benekastah更新:http://jsfiddle.net/6czap/3/
var $el = $(".example:first"), text = $.trim($el.text()),
words = text.split(" "), html = "";
for (var i = 0; i < words.length; i++) {
html += "<span>" + words[i] + ((i+1) === words.length ? "" : " ") + "</span>";
};
$el.html(html).children().hide().each(function(i){
$(this).delay(i*200).fadeIn(700);
});
$el.find("span").promise().done(function(){
$el.text(function(i, text){
return $.trim(text);
});
});
Run Code Online (Sandbox Code Playgroud)