2015-12-15 75 views
1

我需要进行各种类型的“幻灯片放映”,点击时图像必须循环播放。例如,我需要它循环5个图像。如何使用变量点击图像时发生变化

它已经建议我用一个onclick功能,使一个变量增加一个每一次点击,因此加载时,它是第一个图像,当点击一次是第二图像等

会如何我去做这个?

+1

安德鲁...我建议只是谷歌的幻灯片图像..要么你会得到一些JS插件或者你会发现一些代码。在这样的人往往当你发现一些问题,以帮助只你的代码,你不能实现它..所以你需要先尝试.. :)一旦你被卡住任何地方,我们可以帮助你.. :) –

+0

嗨,欢迎来到堆栈溢出。通常,这里的一个很好的问题包括努力的表现;你应该添加一些代码来显示你已经尝试过的东西。有关更多提示,请参阅http://stackoverflow.com/help/how-to-ask –

+0

对不起,我是新来的杰西。我必须这样做。 –

回答

1

做的第一件事是有5个图像阵列,以及一个变量来跟踪你是在什么指标:

var imgArray = ['img1', 'img2', 'img3', 'img4', 'img5']; 

var currentIndex = 0; 

然后,onclick事件例如使用添加到您的图像(一个id"img"),并增加该计数器。接下来应用modulus (remainder)运营商允许骑自行车。这意味着当计数器超出阵列的长度时,它将“循环”回零。

document.getElementById("img").onclick = function() { 
    currentIndex++; 
    currentIndex = currentIndex % imgArray.length; 
    this.src = imgArray[currentIndex]; 
} 

Example using 3 images

+0

谢谢,这工作! –

0

在网页上添加您IMG空白源。

<img id = "image" src = "" /> 
<br /> 
<button id = "button">Next image</button> 

然后编写脚本如下。

var img = document.getElementById("image"); 
    var button = document.getElementById("button"); 
    var imagesList = ["1.jpg", "2.jpg", "3.jpg", "4.jpg", "5.jpg"]; 

    i = 0; 
    img.src = imagesList[i]; 

    function nextImg(){ 
     img.src = imagesList[i+1]; 
     i = i+1; 
     if(i == imagesList.length){ 
     i = 0; 
     img.src = imagesList[i]; 
     } 
    } 

    button.onclick = nextImg;