2014-02-07 27 views
0

我的三個小絕對定位div在我的主頁。我只想要一個div出現在一次,所以頁面應該只以第一個div開始,在第三個div之後,第二個div以及第三個div之後3秒,這個過程應該無限延續。這是我爲此做了10次的for循環。我怎樣才能使無限的同樣發生?三個小絕對定位的div在我的主頁

// this for not making infinite loop 
var nb_loop=0; 
var max_loop=10; 
var j=0; 
for (var i=2; i<=3 ; i++){ 
    nb_loop++; 
    j++; 
    console.log("i="+i+", j="+j); // or alert if you want 
    if (j>=3) 
    j=0; 
    if (i>=3) 
    i=0; 
    if (nb_loop>max_loop) 
    break; 
} 
+0

你爲什麼不使用CSS或jQuery的? –

+0

一個inifinite循環會打破你的瀏覽器,儘管這裏是for(';')的無限'' –

+0

不,我還需要支持較老的瀏覽器。所以沒有css3動畫。 – user3283237

回答

0

使用JQUERY的setTimeout()函數

這樣

jQuery(document).ready(function() { 
    //hide a div after 3 seconds 
    setTimeout(function(){ jQuery("#div").hide(); }, 3000); 

}); 
1

JS:

var counter = 1; 
function showDiv(){ 
$('.display').hide(); 
$('#div'+counter).show(); 
(counter == 4 ? counter = 1 : counter++) 
} 

showDiv(); 
var timer = setInterval(showDiv, 3000); 

HTML:

<div id='container'> 
    <div id='div1' class='display' style="background-color: red;"> 
     div1 
    </div> 

    <div id='div2' class='display' style="background-color: green;"> 
     div2 
    </div> 

    <div id='div3' class='display' style="background-color: blue;"> 
     div3 
    </div> 

    <div id='div4' class='display' style="background-color: yellow;"> 
     div4 
    </div> 
</div> 

CSS:

.display { display: none; } 

使用jQuery 的setInterval功能使用了無限的時間