Javascript 为什么不是';我的图像库不工作吗?

Javascript 为什么不是';我的图像库不工作吗?,javascript,jquery,html,image,gallery,Javascript,Jquery,Html,Image,Gallery,我对javascript非常熟悉,我(几乎)制作了一个图像库。它包括两个按钮(图片不是所有HTML按钮)。无论如何,选择下一张图片的按钮工作正常,但是,应该返回到上一张图片的按钮工作正常,但是一旦你通过第一张图片,它就会跳转为白色(你知道当它只是白色,中间有一个小图片符号时)。我不知道为什么 Javascript: <script> var myImage= new Array(); myImage[0]="pics/IMG1.jpg";

我对javascript非常熟悉,我(几乎)制作了一个图像库。它包括两个按钮(图片不是所有HTML按钮)。无论如何,选择下一张图片的按钮工作正常,但是,应该返回到上一张图片的按钮工作正常,但是一旦你通过第一张图片,它就会跳转为白色(你知道当它只是白色,中间有一个小图片符号时)。我不知道为什么

Javascript:

<script>
        var myImage= new Array(); 
        myImage[0]="pics/IMG1.jpg";       
        myImage[1]="pics/IMG2.jpg";
        myImage[2]="pics/IMG3.jpg";
        myImage[3]="pics/IMG4.jpg"; 

    var ImageCnt = 0; 

    function next(){
        ImageCnt++;

        if(ImageCnt == 4) { 
            ImageCnt = 0; 

        }
        document.getElementById("img1").src = myImage[ImageCnt];
    }

    function previous () {
        ImageCnt--; 

        if(ImageCnt == 0) {
            ImageCnt = 4;

        }
        document.getElementById("img1").src = myImage[ImageCnt];            
    }
</script>

var myImage=新数组();
myImage[0]=“pics/IMG1.jpg”;
myImage[1]=“pics/IMG2.jpg”;
myImage[2]=“pics/IMG3.jpg”;
myImage[3]=“pics/IMG4.jpg”;
var-ImageCnt=0;
函数next(){
ImageCnt++;
如果(ImageCnt==4){
ImageCnt=0;
}
document.getElementById(“img1”).src=myImage[ImageCnt];
}
函数前(){
图像处理;
如果(ImageCnt==0){
ImageCnt=4;
}
document.getElementById(“img1”).src=myImage[ImageCnt];
}
HTML(仅img部分):



提前感谢!:)

您的下一个/上一个逻辑有缺陷:

    if(ImageCnt == 0) {
        ImageCnt = 4;
    }
您只定义了myImage 0->3,因此当您将ImageCnt重置为4时,您正在查找一个不存在的图像。此外,您还硬编码了图像数组的预期长度,这意味着如果以后添加更多图像,则必须修改这两个函数以接受新的长度

试一试

上一页:


这使得检查是动态的,除了用更多/更少的图像更新myImage阵列之外,您无需执行任何操作。

您的下一个/上一个逻辑有缺陷:

    if(ImageCnt == 0) {
        ImageCnt = 4;
    }
您只定义了myImage 0->3,因此当您将ImageCnt重置为4时,您正在查找一个不存在的图像。此外,您还硬编码了图像数组的预期长度,这意味着如果以后添加更多图像,则必须修改这两个函数以接受新的长度

试一试

上一页:


这使得检查是动态的,除了用更多/更少的图像更新myImage数组外,您无需执行任何操作。

对于以前的代码,请尝试按如下方式减小值:

if(ImageCnt == -1) {
ImageCnt = 3;
}

问题是,数组只指向3(0-3而不是1-4),因此它将指向不存在的图像。

对于以前的代码,请尝试按如下方式减小值:

if(ImageCnt == -1) {
ImageCnt = 3;
}
问题是数组只指向3(0-3,而不是1-4),因此它将指向不存在的映像。

函数前一个(){ 图像处理

只需将ImageCnt=4更改为3 此外,如果您处于索引0,则必须显示图像0

因此,您希望在imagecnt==-1上显示第四个图像(索引=3)

函数previous(){ 图像处理

只需将ImageCnt=4更改为3 此外,如果您处于索引0,则必须显示图像0


因此,您希望在imagecnt==-1上显示第四个图像(索引=3)

在以前的方法中,您有一个错误。应该是这样的:

   if(ImageCnt == -1) {
        ImageCnt = 3;

    }
因为数组中不存在4索引,也不存在0位置

希望有帮助


干杯!

在以前的方法中,您有一个错误。应该是这样的:

   if(ImageCnt == -1) {
        ImageCnt = 3;

    }
因为数组中不存在4索引,也不存在0位置

希望有帮助


干杯!

谢谢,它似乎在工作,但在使用该功能一段时间后,它仍然返回到白色图片。下面的方法似乎更适合我,即使你的更好。我是js的初学者,所以我想我会选择简单的方法;)但是谢谢你的帮助!我会在流利地说Javascript时尝试:PThanks、 它似乎可以工作,但在使用该函数一段时间后,它仍然返回到白色图片。下面的方法似乎更适合我,即使你的方法更好。我是js的初学者,所以我想我会选择简单的方法;)但是谢谢你的帮助!当我流利地说Javascript时,我会尝试这个方法:PThanks,我喜欢多快我得到了所有这些回复:D干杯!谢谢,我喜欢我这么快得到所有这些回复:D干杯!
   if(ImageCnt == -1) {
        ImageCnt = 3;

    }