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

How Do They Do It? (Banner Rotation)

  • http://clwydmc.co.uk/

    the home page image at the top of the page changes each time you enter the page, how is this done?

    Al
  • I don't see a Javascript being called, so perhaps a PHP image rotator? It certainly seems to be a random selection, several refreshes doesn't seem to be revealing any particular order...

    Matt Mullenweg developed the code for a method to achieve this here: http://ma.tt/scripts/randomimage/ (it's been improved upon since, but you'll get all the detail from the site anyhow).

    EDIT - you might try this with the buffs in the Javascript or PHP forums, you'll certainly get a better answer! ;)
  • It will automatically change because of the links on it.
  • I'm a huge fan of PHP for this. So much so that I'm moving this topic to the PHP section!

    You can simply use the rand() function to achieve the results. Here's a really simple explanation:

    http://php.about.com/od/finishedphp1/qt ... banner.htm

    Essentially, it'll be something like this:

    <?php
    $num = rand(1, 5);
    ?>

    <img class="classname" alt="" src="images/banner-<?php echo $num; ?>.jpg" />
  • here is how I do it on a site not with banners of course, but it is essentially the same:

    images.php

    <?php
    /*
    STORE BANKS OF IMAGES AS INTEGER NUMBERS WITH A .jpg EXTENSION.
    ONCE STORED AND IMAGES UPLOADED, CHANGE THE $maxNumImages VARIABLE TO
    MAXIMUM NUMBER OF IMAGES IN THAT DIRECTORY
    */

    //****** MAIN IMAGE SETTINGS ********
    $maxNumImages = 3;// change this number to the total number of images
    $imageURL = \"http://www.yoursite.com/images/imageBank/\";
    $imageExtension = \".jpg\";

    //****** RANDOM NUMBER GENERATOR ********
    $num = rand(1, $maxNumImages);

    //****** GENERATING ARRAY OF IMAGES ********
    for ( $counter = 1; $counter <= $maxNumImages; $counter += 1)
    {
    $image[$counter] = $imageURL . $counter . $imageExtension;
    }

    //****** CAPTIONS FOR ARRAY OF IMAGES ********
    //you may not want to use this, but I had to... if you don't eliminate all $caption[] everywhere in script

    $caption[1] = \"One\";
    $caption[2] = \"Two\";
    $caption[3] = \"Three\";


    //****** OUTPUT OF IMAGE ********
    echo \"<img src='\" . $image[$num] . \"' title='' alt='' /><br>\";
    echo \"<div class='imagedisclaim'>\" . $caption[$num] . \"</div>\";

    ?>


    and the HTML I use:

    <div class=\"imageright\">
    <?php
    include('/data01/path to sites script/scripts/images.php');
    ?>
    </div>
  • I like that a lot - look waaaaaay simpler than any other method I've seen. Nice one.
  • "EamonnMac" said:
    I like that a lot - look waaaaaay simpler than any other method I've seen. Nice one.


    if your talking about the post I made Eamon, then it will only refresh the image on page load other than that it would need javascript.

    but I prefer this method its not too in your face fancy