javascript - How to loop through array on click using jQuery? -
i have array of quotes , when clicking button, i'd fade out new quote randomly.
in code below, instead of fading out next randomly chosen value in array, fades out , doesn't show value when click button.
var quotes = [ "lorem ipsum dolor sit amet, consectetur adipiscing elit, sed eiusmod tempor incididunt ut labore et dolore magna aliqua.", "ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", "excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", ] $(document).ready(function() { $('.btn').click(function() { $('#quotedisplay').fadeout('slow'); var randomnumber = math.floor(math.random() * (quotes.length)); document.getelementbyid('quotedisplay').innerhtml = quotes[randomnumber]; }); });
you forgot add $('#quotedisplay').fadein('slow'); after you've changed element's text, text change after text has faded out entirely should add logic separate function , add callback fadeout function.
i've added example below.
var quotes = [ "lorem ipsum dolor sit amet, consectetur adipiscing elit, sed eiusmod tempor incididunt ut labore et dolore magna aliqua.", "ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", "excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", ] $(document).ready(function() { function changeanddisplaymessage() { var randomnumber = math.floor(math.random() * (quotes.length)); document.getelementbyid('quotedisplay').innerhtml = quotes[randomnumber]; $('#quotedisplay').fadein(); } $('.btn').click(function() { $('#quotedisplay').fadeout('slow',changeanddisplaymessage); }); }); <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div> <input type='button' class='btn' value='generate random message'> </input> <h4 id='quotedisplay'> message show here </h4> </div>
Comments
Post a Comment