treehouse : what would you like to learn today?
Web Design Web Development iOS Development

Fade in / fade out

  • I've tried various javascripts to accomplish a very 'simple' task, but i can't get it to work. I hope one of you can help me.

    I have a simple mySql database with oneliners. I would like to show these oneliners in a random order with a fade in / fade out effect with a timed interval.

    Do anyone of you have a (simple :D ) solution to do this?

    gr. Bert
  • I'm not really skilled at all in mysql, php or even javascript but maybe you can use jQuery the fade function is pretty simple.

    And I think you'd have to put some sort of switch div or w/e as well after the fade
  • @Jonz: thx for your reply. I never used jQuery. I'll have a look at this

    Anyone else have ideas?

    gr. Bert
  • You can create an array in JavaScript with all of the one-liners that you want to show and then write a function that gives you a random number using “Math.random()” but make sure that it does not gives a number greater or smaller than your arrays length. After that just use that number and get the text on that index in the array. To fade it in & out you can use jQuery which is very simple.
  • "uba" said:
    You can create an array in JavaScript with all of the one-liners that you want to show and then write a function that gives you a random number using “Math.random()” but make sure that it does not gives a number greater or smaller than your arrays length. After that just use that number and get the text on that index in the array. To fade it in & out you can use jQuery which is very simple.

    Uba,
    Thanks a lot. I've impemented this and it works. Just the jQuery thing isn't clear yet, but i'll look into this.
    Again, thanks a lot.

    gr. Bert
  • I am glad to be of any help, for jQuery all you need to do after including the main jQuery script file in you html is to write something similar to this:

    var $objTimer = \"\";

    window.clearInterval($objTimer);
    $objTimer = window.setInterval(\"doFadeInOut()\", 5000);

    function doFadeInOut() {
    $(\"#element\").fadeOut().queue(function() {
    $(this).html(\"new line goes here\").fadeIn().dequeue();
    });
    }
  • I found the perfect plugin for jQuery to do what i wanted to do. Its called innerfade.
    http://medienfreunde.com/lab/innerfade/
    Thx everyone for your help.

    gr. Bert