此代码的目的是遍历网址并将最新的网址插入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>
这里的问题是这段代码会快速浏览网址列表,您只能看到第一个网址和最后一个网址。中间的网址到目前为止是不可见的,倒数计时器只出现一次。我正在使用jquery倒计时插件。
如何使这个减速并在移动到下一个之前单独显示倒计时的每次迭代?非常感谢你。
答案 0 :(得分:0)
问题在于,您要将所有计时器设置为完全同时关闭。您需要将它们设置为不同的时间。可以添加“10.5 *数组索引”,使每个等待的时间比前一个长一些,而不是为每个添加10.5秒。
答案 1 :(得分: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>