2011-08-16 76 views
1

我有一個帶iframe的索引頁面,我要依次重新加載兩個iframe,20秒鐘iframe1,20秒鐘後iframe2,然後20秒iframe1,然後在20秒內再次iframe2,永遠。按順序在iframe中重新加載2個php頁面

我已嘗試睡眠()在PHP中,和其他JavaScript。

爲什麼php和javascript不支持簡單的腳本暫停?

做( '1' < '2'){

睡眠(20);

回波腳本類型=「文本/ JavaScript的

回聲parent.featuredBottom.location = 」模塊/功能-bottom.php「';

回聲/ SCRIPT>

睡眠(20 );

回波腳本類型=「文本/ JavaScript的

回聲parent.randomBottom.location = 」模塊/隨機bottom.php「';

回聲/腳本

}

睡眠();暫停一切..

+1

'while(TRUE)'比'do('1'<'2')'IMO更好。 – alex

回答

1

JavaScript有一個叫setTimeout()的函數,它會等待指定的毫秒數,然後執行一些代碼。

onload(或文檔準備的,等等)的每個iframe使用setTimeout()來控制其他iframe的重新加載。

// within the iframe1 content: 
<body onload="iFrame1Loaded();"> 
... 


function iFrame1Loaded() { 
    setTimeout(function() { 
    // put code here to tell iFrame2 to reload, 
    // parent.frames["iframe2"].something.something... 
    }, 20000); 
} 

然後基本上你iFrame2同樣的事情,並反轉1S和2S ...

更多信息有關setTimeout()可在MDN website

注意:不要試圖在JavaScript中實現自己的sleep()函數,因爲它會鎖定瀏覽器 - 用戶將無法滾動,不會重畫等,直到睡眠過度。