user1870012
user1870012

Reputation: 59

how can i create true loop?

        var resimler = Array('uludağ.jpg', 'yesilturbe.jpg', 'taksi.jpg');
        var sayi = resimler.length - 1;
        var now = 0;
        function slideback()
        {
            $('body').css('background-image','url(' + resimler[now] + ')');
            now = now + 1;
            if(now==sayi)
            {
                now = 0;
            }
        }

        while(true){
            $(function() {
                    setTimeout(slideback, 2200);
            });
        }

My Javascript codes above, css codes below..

body{
                background-image:url('taksi.jpg');
                background-size:100%; 
                background-attachment:fixed;
                -ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(
                src='taksi.jpg',
                sizingMethod='scale')";
                filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(
                src='taksi.jpg',
                sizingMethod='scale');
            }

I want to change background-image every 2200 miliseconds. As you can see I have 3 image, and I want to create infinite loop

while(true){}

but my firefox fall down. How can i create true loop for my purpose?

Upvotes: 0

Views: 72

Answers (2)

sevenseacat
sevenseacat

Reputation: 25029

while(true) will send your browser into a horrible infinite loop and lock it up. Don't do that.

Look at the Javascript setInterval method (eg. setInterval(slideback, 2200)) to repeat the method every 2200 milliseconds.

Upvotes: 4

Joachim Sauer
Joachim Sauer

Reputation: 308031

You don't need a loop. The "most direct" translation of your code would be to call setTimeout(slideback, 2200) at the end of your slideback method. That's pretty much saying "and do the same thing again in about 2 seconds).

Even better would be to use setInterval:

setInterval(slideback, 2200);

Remember, that the JS- and HTML-interaction is pretty much event based. This means that you almost never want an infinite loop directly in your code (that's true for most modern development environments).

Upvotes: 4

Related Questions