2013-01-16 45 views
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; 
} 

}?> 

回答

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如果爲了生成頁面,在頁面服務到cl之後沒有什麼可以做的ient。

0

如果您嘗試使用刷新標題進行循環,則不需要循環。
此外,計數到10000不需要10秒鐘。 而你正在使用你以前的urls數組作爲索引... 總之,再次構建它。

如果要在瀏覽器中旋轉它們,請將url列表提供給javascript。

編輯:添加例子

1)使網址提供給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轉換。

+0

您好Riccardo,我試圖實現這一點,而不使用JavaScript,沒有頭刷新,如果這是可能的只是使用PHP,我現在已經在那裏刷新標題。當我測試這個時,那個分鐘的數字是一個隨機數。 如果我取出標題刷新和時間元素,那麼這個工程,但我必須重新加載頁面每次更改圖像。 任何意見在這裏非常感謝。 –

+0

你不能用PHP做到這一點。 – Damien

+0

嗨基思,我的意思是我的答案是,你只需從PHP寫入所有的url到javascript數組中:我編輯了一個代碼示例的消息 –