2

I found this answer:

How can I change text after time using jQuery?

Which basically does what I need. But instead of having it redirect to another page at the end, I want it to just keep cycling through the text messages infinitely. Obviously, I remove the IF section to stop the redirecting, but how do I make it repeatedly cycle through the text messages?

function nextMsg() {
    if (messages.length == 0) {
        // once there is no more message, do whatever you want
        alert("redirecting");
    } else {
        // change content of message, fade in, wait, fade out and
        // continue with next message
        $('#message').html(messages.pop()).fadeIn(500).delay(1000)
                                          .fadeOut(500, nextMsg);
    }
};

// list of messages to display var messages = [
//   "Hello!",
//   "This is a website!",
//   "You are now going to be redirected.",
//   "Are you ready?",
//   "You're now being redirected..."
// ].reverse();

// initially hide the message $('#message').hide();

// start animation nextMsg();
Community
  • 1
  • 1

2 Answers2

5

Just make small changes in the basic code:

function nextMsg(i) {
    if (messages.length == i) {
        i = 0;
    }

    $('#message').html(messages[i])
                 .fadeIn(500)
                 .delay(1000)
                 .fadeOut(500, function() {
                     nextMsg(i + 1);
                 });
};

nextMsg(0);​

DEMO: http://jsfiddle.net/8wqv2/

VisioN
  • 143,310
  • 32
  • 282
  • 281
0

Would something like this work?

pdoherty926
  • 9,895
  • 4
  • 37
  • 68