2013-01-16 163 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数组中:我编辑了一个代码示例的消息 –