Solved

trying to recreate a swf effect in jquery

Posted on 2012-03-21
2
225 Views
Last Modified: 2012-03-26
I'm redeveloping this site for a non-profit.
There are problems with the following site:
http://www.capodevelopment.com/gngproject/www/

How can I mimic the tv in the bottom right using only jquery?

Right now I've already preloaded the images, and I have them in an array.

I just don't know how to make a function that will put a small, but random delay between changing the image.

There's a div element, whose background image is the tv picture.
So in the code, I need to change the image like:
$('#homeTvSlides').css('background','img/img1.jpg');
-except, on a delay.

TIA Experts
0
Comment
Question by:Imaginx
2 Comments
 
LVL 16

Accepted Solution

by:
Steve Krile earned 500 total points
Comment Utility
What about something like this.

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>TV with JQuery</title>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
    <script type="text/javascript">
        var fuzzy1 = "http://www.wallpapersbay.com/wallpapers/fuzzy_screen_png-1024x1024.jpg"
        var fuzzy2 = "http://www.testplant.com/phpBB2/files/vnc_fuzzy_screen.jpg"
        var imageArray = [{ img: "http://i45.photobucket.com/albums/f96/thirty7blinks/beaches_winter_sidewalk_reflection_.jpg" },
                          { img: "http://i777.photobucket.com/albums/yy57/Freethey/winter001.jpg" },
                          { img: "http://i261.photobucket.com/albums/ii41/Thumper460/WinterSnow.jpg" }
                          ];
        var imginterval;
        var imageCount = imageArray.length;
        var currentImage = -1;

        $(document).ready(function () {
            //set the initial image to be fuzzy
            setImageSrc(fuzzy1);

            //kick off the interval to run every 5 seconds
            setInterval(transitionImage, 5000);

        });


        //function called by the interval
        function transitionImage() {
            //if you have reached the end of your image list, cycle back to the first
            //the trick here is to remember that the length of an array is 1-rooted, and the index of the items is zero-rooted
            if (currentImage + 1 > imageCount - 1) { currentImage = -1 };

            //increment to the next image in the imageArray
            currentImage += 1;

            //flip back to fuzzy
            setImageSrc(fuzzy1);

            //wait 1/2 second to flip to the second fuzzy
            setTimeout(function () { setImageSrc(fuzzy2) }, 500);

            //finally - set the final
            setTimeout(function () { setImageSrc(imageArray[currentImage].img) }, 1000);


        }

        function setImageSrc(src) {
            $("#screen").attr("src", src);
        };


    </script>
    <style>

    </style>
</head>
<body>
    
   <div class="tv" style="padding: 10% 45%;">
    <img src="" id="screen" style="width:200px;height:200px;" />
   </div>

</body>
</html>

Open in new window

0
 
LVL 1

Author Closing Comment

by:Imaginx
Comment Utility
Works perfectly. Nicely commented.

Thanks !!
0

Featured Post

Why You Should Analyze Threat Actor TTPs

After years of analyzing threat actor behavior, it’s become clear that at any given time there are specific tactics, techniques, and procedures (TTPs) that are particularly prevalent. By analyzing and understanding these TTPs, you can dramatically enhance your security program.

Join & Write a Comment

Why do we like using grid based layouts in website design? Let's look at the live examples of websites and compare them to grid based WordPress themes.
Nothing in an HTTP request can be trusted, including HTTP headers and form data.  A form token is a tool that can be used to guard against request forgeries (CSRF).  This article shows an improved approach to form tokens, making it more difficult to…
The viewer will learn how to count occurrences of each item in an array.
The viewer will the learn the benefit of plain text editors and code an HTML5 based template for use in further tutorials.

728 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now