0

此代码的目的是遍历 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> 

以下是在正文标签中

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

这里的问题是这段代码快速跳过了 url 列表,你只能看到第一个和最后一个 url。到目前为止,中间的 URL 是不可见的,倒数计时器只出现一次。我正在使用 jquery 倒计时插件。

在移动到下一个之前,我如何让它变慢并单独显示倒计时的每次迭代?非常感谢您。

4

2 回答 2

1

您的变量范围有问题。changetimer无法从 litOff 函数访问 var。您可以将其设为全球性,如下所示:

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

希望这可以帮助。干杯

于 2011-05-05T02:07:34.973 回答
0

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

于 2011-05-10T23:56:28.897 回答