0

このコードを使用して、test.php 出力から配列を読み取り、並べ替えてから、結果をスライド ショーのように表示します。

画像が 1 つしか表示されないため、この行に何か問題があります。

    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 に答える