簡體   English   中英

我如何遍歷數組中的網址,在iframe中顯示每個網址?

[英]how can i iterate through the urls in an array, displaying each in an iframe?

這段代碼的目的是循環瀏覽網址,並將最新的網址插入iframe。 下面,我正在使用jquery的倒數插件。

<?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> 

下面是在身體標簽

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

這里的問題是此代碼跳過了URL列表,因此您只能很快看到第一個URL和最后一個URL。 到目前為止,它們之間的網址是不可見的,並且倒數計時器僅出現一次。 我正在使用jquery倒計時插件。

如何減慢速度,並在移至下一個之前逐一顯示每次計數的迭代次數? 非常感謝你。

問題在於您將所有計時器設置為完全同時關閉。 您需要將它們設置為不同的時間。 而不是為每一個增加10.5秒,而可以添加“ 10.5 *數組索引”,以使每一個等待的時間比前一個更長。

像這樣做:

<?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> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM