[英]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.