如何使用jQuery倒计时插件在iframe中循环一系列URL?

如何使用jQuery倒计时插件在iframe中循环一系列URL?,jquery,iframe,infinite-loop,countdown,Jquery,Iframe,Infinite Loop,Countdown,此代码的目的是在URL之间循环,并将最新的URL插入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://

此代码的目的是在URL之间循环,并将最新的URL插入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> 

$(函数开始(){
var changetimer=新日期();
changetimer.setSeconds(changetimer.getSeconds()+10.5);
$('#defaultCountdown')。倒计时({until:changetimer,onExpiry:liftOff});
$('#year').text(changetimer.getFullYear());
});
函数liftOff(){
document.getElementById(“mainview”).src='';
} 
下面是body标签

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

这里的问题是,这段代码跳过url列表的速度太快,以至于您只能看到第一个url和最后一个url。到目前为止,两者之间的URL是不可见的,倒计时计时器只显示一次。我正在使用jquery倒计时插件


在进入下一步之前,我如何使这一步变慢并单独显示倒计时的每个迭代?非常感谢。

您的变量范围有问题<代码>更改计时器var无法从litOff函数访问。您可以使其全球化,如下所示:

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

function liftOff() { 
    document.getElementById("mainview").src = "http://www.google.co.uk";
    window.changetimer.setSeconds(window.changetimer.getSeconds() + 5.5); //Reference global
    $('#defaultCountdown').countdown({until: window.changetimer, onExpiry: start}); //Reference global
} 
</script> 

$(函数开始(){
window.changetimer=new Date();//声明为全局
changetimer.setSeconds(changetimer.getSeconds()+5.5);
$('#defaultCountdown')。倒计时({until:changetimer,onExpiry:liftOff});
$('#year').text(changetimer.getFullYear());
});
函数liftOff(){
document.getElementById(“mainview”).src=”http://www.google.co.uk";
window.changetimer.setSeconds(window.changetimer.getSeconds()+5.5);//引用全局
$(“#defaultCountdown”).countdown({until:window.changetimer,onExpiry:start});//引用全局
} 

希望这有帮助。干杯

感谢大家的反馈和回答。我现在以header:location命令的php参数的形式找到了问题的解决方案。如果使用“刷新”,则可以再次加载同一页,并且每次都增加一个数据库指针。傻瓜

如果我删除liftoff函数的最后两行,第1版也可以。这实际上比版本2更远离我想要实现的目标。有什么想法吗?请现在查看更新的代码。此外,我不确定它是否真的快速运行jquery,或者是否完全跳过它。我这样说是因为当它显示最后一个url时,它根本不运行倒计时。因此,倒计时只出现一次。非常感谢您的反馈和回答。我现在以header:location命令的php参数的形式找到了问题的解决方案。如果使用“刷新”,则可以再次加载同一页,并且每次都增加一个数据库指针。傻瓜!