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

时间:2012-08-30 09:17:14

标签: php javascript html

我正在使用以下代码从文件夹中动态选择图像,然后在幻灯片放映中显示它们..但此代码仅选择第一张图片...请指导我在哪里出错......

PHP文件是:named: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>

1 个答案:

答案 0 :(得分:3)

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