Fade in letter by letter with JQuery -
i'm trying text of all_msg, , hide method hide , fade in 1 letter @ time, tiny delay, code.
var $all_msg = $('#welcome_msg'); function animate(i) { $all_msg.hide(); $all_msg.text.each(function(index) { $(this).delay(700 + index).fadein(1100); }) } and console giving me back:
$all_msg.text.each not function i'm new coder if can me give me major boost, thanks.
you need retrieve text .text(), split delimiter of choice (space list of words, or empty string list of characters), create span each of items in list , append container on page(and fade them if want):
$(function() { //get welcome msg element var $all_msg = $('#welcome_msg'); //get list of letters welcome text var $wordlist = $('#welcome_msg').text().split(""); //clear welcome text msg $('#welcome_msg').text(""); //loop through letters in $wordlist array $.each($wordlist, function(idx, elem) { //create span letter , set opacity 0 var newel = $("<span/>").text(elem).css({ opacity: 0 }); //append welcome message newel.appendto($all_msg); //set delay on animation element newel.delay(idx * 70); //animate opacity full 1 newel.animate({ opacity: 1 }, 1100); }); }); <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="welcome_msg">welcome example snippet</div> update:
here snippet minds markup inside welcome text:
$(function() { //get welcome msg element var $all_msg = $('#welcome_msg'); //get list of letters welcome text var $wordlist = $('#welcome_msg').html().split(""); //clear welcome text msg $('#welcome_msg').html(""); //loop through letters in $wordlist array var taggoing = ""; $.each($wordlist, function(idx, elem) { if (elem == "<") { //if encountered symbol means tag started taggoing += elem; } else if (elem == ">") { //if encountered symbol means tag closed taggoing += elem; //create tag collected parts , append //to output html: var $foundtag = $(taggoing).appendto($all_msg); $foundtag.css({ opacity: 0 }); $foundtag.delay(idx * 70); $foundtag.animate({ opacity: 1 }, 1100); //reset tag collector: taggoing = ""; } else { //if inside tag if (taggoing != "") { //if inside tag, append //current character output html taggoing += elem; } else { //create span letter , set opacity 0 var newel = $("<span/>").text(elem).css({ opacity: 0 }); //append welcome message newel.appendto($all_msg); //set delay on animation element newel.delay(idx * 70); //animate opacity full 1 newel.animate({ opacity: 1 }, 1100); } } }); }); .banana { width: 100px; height: 100px; display: block; background: blue; } <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="welcome_msg">welcome <br/>example <div class="banana"></div>snippet</div>
Comments
Post a Comment