Reputation: 59
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
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
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