0

我尝试在 php 中做一个简单的图像幻灯片(只是循环图像,没有链接,没有其他效果)。

经过一番谷歌搜索后,我在网上找到了以下内容:

<HTML>
<HEAD>
<TITLE>Php Slideshow</TITLE>
<script language="javascript">
var speed = 4000; // time picture is displayed
var delay = 3; // time it takes to blend to the next picture
x = new Array;
var y = 0;

<?php
$tel=0;
$tst='.jpg';
$p= "./images";
$d = dir($p);
$first = NULL;
while (false !== ($entry = $d->read())) {
    if (stristr ($entry, $tst)) {
        $entry = $d->path."/".$entry; 
        print ("x[$tel]='$entry';\n");
        if ($first == NULL) { 
            $first = $entry; 
        }
        $tel++;
    }
}
$d->close();
?>

function show() {
    document.all.pic.filters.blendTrans.Apply();
    document.all.pic.src = x[y++];
    document.all.pic.filters.blendTrans.Play(delay);
    if (y > x.length - 1) 
        y = 0;
}

function timeF() {
  setTimeout(show, speed);
}
</script>
</HEAD>
<BODY >

<!-- add html code here -->
<?php
print ("<IMG src='$first' id='pic' onload='timeF()' style='filter:blendTrans()' >");
?>
<!-- add html code here -->
</BODY>
</HTML>

但它只显示循环中的第一张图像。我有什么问题吗?

生成的 HTML 页面是:

<HTML>
<HEAD>
<TITLE>Php Slideshow</TITLE>
<script language="javascript">
var speed = 4000; // time picture is displayed
var delay = 3; // time it takes to blend to the next picture
x = new Array;
var y = 0;

x[0]='./images/under_construction.jpg';
x[1]='./images/BuildingBanner.jpg';
x[2]='./images/littleLift.jpg';
x[3]='./images/msfp_smbus1_01.jpg';
x[4]='./images/escalator.jpg';

function show() {
    document.all.pic.filters.blendTrans.Apply();
    document.all.pic.src = x[y++];
    document.all.pic.filters.blendTrans.Play(delay);
    if (y > x.length - 1) 
        y = 0;
}

function timeF() {
  setTimeout(show, speed);
}
</script>
</HEAD>
<BODY >

<!-- add html code here -->
<IMG src='./images/under_construction.jpg' id='pic' onload='timeF()' style='filter:blendTrans()' ><!-- add html code here -->
</BODY>
</HTML>
4

2 回答 2

1

我建议您使用现成的 javascript 框架,例如jQuery

我记得,我用过这个:jQuery Cycle Plugin

于 2010-03-07T11:43:16.040 回答
0

我正在开发一个基于 jquery 的幻灯片插件。随着幻灯片的进行,您可以将更多图像添加到幻灯片中。它是测试版。

http://smg-solutions.com

于 2013-05-10T08:17:33.803 回答