使用javascript动态选择幻灯片放映的图像


Dynamically select images for slide show using javascript

我使用以下代码从文件夹中动态选择图像,然后在幻灯片中显示。。但这个代码只选择第一个图像。。。请指引我哪里有错。。。

PHP文件名为:test.PHP

<?php
 header("content-type: application/x-javascript");
    function returnimages($dirname=".") {
        $files = array();
        $curimage = 0;
         //valid image extensions
        $pattern="('.jpg$)|('.png$)|('.jpeg$)|('.gif$)";
        if($handle = opendir($dirname)) {
            while(false !== ($file = readdir($handle))) {
                if(eregi($pattern, $file)){
                    echo 'galleryarray[' . $curimage . '] = "' . $file . '";';
                    $curimage++;
                }
            }
           closedir($handle);
        }
        return($files);
    }
    //Define array in JavaScript returnimages()
    //Output the array elements containing the image file names
    echo 'var galleryarray = new Array();';
?>

Html代码为:

<html>
    <head>
        <title></title>
        <script src="test.php"></script>
        <script type="text/javascript">
            var galleryarray = returnimages();
            var curimg = 0;
            function rotateimages(){
                //  var imagesDirectory = "pics/" + galleryarray[curimg];
                var imagesDirectory =galleryarray[curimg];
                document.getElementById("slideshow").setAttribute("src", imagesDirectory)
                curimg = (curimg < galleryarray.length - 1) ? curimg + 1 : 0
            }
            window.onload = function(){
                setInterval("rotateimages()", 2500)
            }
        </script>
    </head>
    <body>
        <img width="468" height="312" id="slideshow" src="Slide1.jpg">
    </body>
</html>

您实际上正试图通过javaScript调用php函数returnimages()。无论如何,这是不可能的。