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);
});
}
我的上面的Javascript代码,下面的css代码..
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');
}
我想每2200毫秒改变一次背景图像。如你所见,我有3个图像,我想创建无限循环
而(真){}
但是我的firefox掉了下来。如何为我的目的创建真正的循环?
答案 0 :(得分:4)
您不需要循环。代码的“最直接”翻译是在setTimeout(slideback, 2200)
方法结束时调用slideback
。这几乎就是说“并且在大约2秒内再次做同样的事情。”
更好的方法是使用setInterval
:
setInterval(slideback, 2200);
请记住,JS和HTML交互几乎都是基于事件的。这意味着您几乎不需要在代码中直接使用无限循环(对于大多数现代开发环境而言都是如此)。
答案 1 :(得分:4)
while(true)
会将您的浏览器发送到一个可怕的无限循环并将其锁定。不要那样做。
查看Javascript setInterval
方法(例如setInterval(slideback, 2200)
),每2200毫秒重复一次该方法。