0

我正在使用此代码从 test.php 输出中读取数组,对其进行排序,然后像幻灯片一样显示结果。

这条线有问题,因为只显示了一张图像。

    curimg= (curimg < galleryarray.length)
    curimg + 1;

这是代码:

> <script type="text/javascript">
> var curimg=0;
> function rotateimages(){
> galleryarray.sort();
> document.getElementById("picsimg").setAttribute("src", "images/"+galleryarray[curimg]);
> curimg= (curimg < galleryarray.length);
> curimg + 1;
> }
>
> window.onload = function(){
> setInterval("rotateimages()", 2000);
> }
>
> setTimeout(function(){
>   window.location.reload(1);
> }, 20000);
>
> </script>
> 

我的代码有什么问题?

我遇到的另一个问题是,当我第一次加载页面时,它会显示 2000 毫秒的空白页面。//或我上面设置的任何值。

要么是在加载图像之前出现延迟,要么是我的计数错误。如何解决?

这是我的 php 代码的输出:

var galleryarray = new Array();
galleryarray[0] = "image1.jpg";
galleryarray[1] = "image5.jpg";
galleryarray[2] = "image2.jpg";
galleryarray[3] = "image4.jpg";
galleryarray[4] = "image8.jpg";
galleryarray[5] = "image7.jpg";
galleryarray[6] = "image0.jpg";
galleryarray[7] = "image3.jpg";
galleryarray[8] = "image6.jpg";​
4

2 回答 2

0

在行

curimg= (curimg < galleryarray.length); 

您正在将 curimg 设置为布尔值(1 或 0)。您需要做的是将这些行替换为

if(curimg < galleryarray.length) 
    curimg = curimg + 1;
于 2012-04-11T01:28:37.707 回答
0

试试这个:

curimg = (curimg+1) % galleryarray.length;

这将让您从头到尾重复遍历galleryarray。

于 2012-04-11T01:31:06.963 回答