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 しか表示されないことです。その間の URL は今のところ見えず、カウントダウン タイマーは 1 回だけ表示されます。jquery カウントダウン プラグインを使用しています。

これを遅くして、カウントダウンの各反復を個別に表示してから、次の反復に移るにはどうすればよいですか? どうもありがとうございます。

4

2 に答える 2

1

変数スコープに問題があります。changetimerlitOff関数から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 に答える