0

このスクリプトは機能し、画像に読み込まれます。

これを 10 秒後に新しい画像にロードしたいのですが、これを試してみると、間違ったことについての提案が機能しませんか?

    <?php header("Refresh: 5; URL=mytestfile.php"); ?>
<div style="width: 964px;">
<div style="float: left; width: 240px;">
<?php $mybanners[1] = '<a href="/chiropractor/"><img src="banners/chiropractor.jpg"></a>';
$mybanners[2] = '<a href="/chiropodist/"><img src="banners/chiropody.jpg"></a>';
$mybanners[3] = '<a href="/fitness-instructor/"><img src="banners/fitness ball.jpg"></a>';
$mybanners[4] = '<a href="/dietician/"><img src="banners/Dietician.jpg"></a>';
$mybanners[5] = '<a href="/alexander-technique/"><img src="banners/Alexander technique.jpg"></a>';

$id = rand(1,5);

echo $mybanners[$id]; 

// this is the section I tried to control the delay

$mybanners = 0;
for($i=0; $i<10000; $i++){
if($i=='10000'){
    $mybanners++;
    $i = 0;
    }
    if($mybanners=='10'){
    $mybanners=0;
 }

}?>
4

2 に答える 2

0

Refresh ヘッダーを使用して循環しようとしている場合、循環は必要ありません。
また、10000までカウントするのに10秒かかりません。そして、以前の urls 配列をインデックスとして使用しています...つまり、もう一度構築します。

ブラウザーで URL を回転させたい場合は、URL リストを JavaScript で使用できるようにします。

編集:例を追加

1) URL を JavaScript で使用できるようにします。

php では、javascript を出力します。

echo "<script>";
echo "var urlList = new Array();";
foreach ($urls as $url)
  echo "urlList[urlList.length]='$url';";

2) それらを回転させます。これは、5 秒ごとに関数を実行する基本的な構造です。

setTimeout(function() {}, 5000);

ローテーションを行う方法を見つける必要があります。配列のインデックスのカウンターを保持するか、ランダムを試してください。

setTimeout(function() {
  var index = Math.round(Math.rand * urlList.length);
  document.getElementById('#myimg').src.href=urlList[index];
}, 5000);

注: 私はここにこのコードを書いています。テストはしていませんが、作業を進めるには十分なはずです。いったん開始したら、いくつかの jQuery.fade トランジションの使用を検討してください。

于 2013-01-16T12:28:50.247 に答える
0

PHP 経由でこれを制御することはできません。これは Javascript の使用例です。for時間関連のコントロールではありません: http://php.net/manual/en/control-structures.for.php

Javascript で画像のリストを作成する必要があります。

var myImages = [
  '<a href="/chiropractor/"><img src="banners/chiropractor.jpg"></a>',
  '<a href="/chiropractor/"><img src="banners/chiropractor.jpg"></a>',
  '<a href="/chiropractor/"><img src="banners/chiropractor.jpg"></a>',
  '<a href="/chiropractor/"><img src="banners/chiropractor.jpg"></a>',
];

(もちろん、このリストは PHP で生成できます)

そして、10 秒ごとに何かを実行します。

var i = 0;
window.setInterval(function() {
  alert(myImages[i]);
  i++;
, 10000}

ページを生成する場合、PHP は、ページがクライアントに提供された後にできることは何もありません。

于 2013-01-16T12:11:00.330 に答える