2011-05-07 58 views
0

此代碼的目的是循環訪問url並在iframe中插入最新的代碼。下面,我使用jquery的倒計時插件。我如何遍歷數組中的網址,在iframe中顯示每個網址?

<?php 
$count=0; 
$urls[]="http://www.techcrunch.com"; 
$urls[]="http://www.livingsocial.com"; 
$urls[]="http://www.guardian.co.uk"; 
$urls[]="http://www.google.com"; 
$urls[]="http://www.rightmove.com"; 
$urls[]="http://www.godaddy.co.uk"; 

foreach ($urls as $count){ 

?> 
<script type="text/javascript"> 
    $(function start() { 
    var changetimer = new Date(); 
    changetimer.setSeconds(changetimer.getSeconds() + 10.5); 
    $('#defaultCountdown').countdown({until: changetimer, onExpiry: liftOff}); 
    $('#year').text(changetimer.getFullYear()); 
}); 

function liftOff() { 
    document.getElementById("mainview").src = '<?php echo($count); ?>'; 
} 
</script> 
<?php } ?> 
</head> 

下面是body標籤

<iframe id="mainview" width="800" height="400" src="http://www.holidays.com"> 
</iframe> 

這裏的問題是這樣的代碼通過URL列表中,跳過這麼快,你只能看到第一個和最後一個網址。中間的網址目前是隱形的,倒數計時器只出現一次。我正在使用jquery倒計時插件。

我該如何讓這個緩慢下來,並顯示每個單獨的計數下降之前,移動到下一個?非常感謝你。

+0

你想顯示一個iframe中,不是等待10個secons,並顯示下一個?等到最後 – Ibu 2011-05-07 21:10:30

+0

喜ibrahim,是的,我是。我實際上找到了一個解決方法,使用PHP的頭:刷新參數。如果有人願意,代碼可以發佈 - 我正在使用它來通過一系列的網址輪換,其工作很好。 – oddieis 2011-05-09 13:36:01

回答

0

問題是,您正在設置所有定時器在完全相同的時間關閉。你需要爲不同的時間設置它們。可以添加「10.5 *數組索引」,而不是每個人增加10.5秒,這樣每個人的等待時間會比前一個長一些。

+0

感謝大家的反饋和答覆。我現在以header:location命令的php參數的形式找到了問題的解決方案。如果使用刷新,則可以再次加載相同的頁面,並且每次增加一個數據庫指針。 Simples! – oddieis 2011-05-10 23:54:31

0

做這樣的:

<?php 
$count=0; 
$urls[]="http://www.techcrunch.com"; 
$urls[]="http://www.livingsocial.com"; 
$urls[]="http://www.guardian.co.uk"; 
$urls[]="http://www.google.com"; 
$urls[]="http://www.rightmove.com"; 
$urls[]="http://www.godaddy.co.uk"; 
?> 

<script type="text/javascript"> 
$(function start() { 
    var changetimer = new Date(); 
    changetimer.setSeconds(changetimer.getSeconds() + 10.5); 
    var urls = <?php echo json_encode($urls); ?>; 
    $.each(urls, function(i, url){ 
     setTimeout(function(){ 
      liftOff(url); 
     } ,5000*i); //Change every 5 seconds 
    }); 
    $('#year').text(changetimer.getFullYear()); 
}); 

function liftOff(url) { 
    document.getElementById("mainview").src = url; 
} 
</script>