Javascript 如何使用增量?

Javascript 如何使用增量?,javascript,jquery,arrays,image,slideshow,Javascript,Jquery,Arrays,Image,Slideshow,我不知道如何使用增量。 通过一个函数。我无法让段落显示数组单词 =Array.length){ 指数=0; } } 您没有显示相关的HTML,但我注意到在本节中,您将获得一个ID为“images/1.png”的元素,并将该元素的src设置为photos[index]中某个内容的值。您尚未显示如何加载照片阵列。您是否有ID为“images/1.png”的元素 在函数中,将主图像的src设置为imageArray中的值,而不是photo数组中的值。这可能是正确的,但由于这与您在函数外部所做的不同,我

我不知道如何使用增量。 通过一个函数。我无法让段落显示数组单词

=Array.length){ 指数=0; } }

您没有显示相关的HTML,但我注意到在本节中,您将获得一个ID为“images/1.png”的元素,并将该元素的src设置为photos[index]中某个内容的值。您尚未显示如何加载照片阵列。您是否有ID为“images/1.png”的元素


在函数中,将主图像的src设置为imageArray中的值,而不是photo数组中的值。这可能是正确的,但由于这与您在函数外部所做的不同,我想确保这是有意的。

我想您正在谈论这样的解决方案:

var imageArr=["images/1.png", "images/2.png", "images/3.png", "images/4.png"];

$('#button'). on('click',function(){
var index=(Math.random(0,imageArr.length)*10)
$('#img').attr('src',imageArr[index])
});

同样,您的问题不清楚,因此我认为这将帮助您了解方向。

如果您使用纯JavaScript,这应该是解决方案

var myImage = document.getElementById("mainImage"),
    imageArray = ["images/1.png", "images/2.png", "images/3.png", "images/4.png"],
    imageArrayIndex = 0;

myImage.src = imageArray[imageArrayIndex++];

function changeImage () {
    myImage.src = imageArray[imageArrayIndex++];
    imageArrayIndex = imageArrayIndex >= imageArray.length ? 0 : imageArrayIndex;
}

确保您的元素定义为“img”。

不要忘记使用浏览器的控制台

不要使用setattribute函数,使用src属性。

var myImage=document.getElementById(“mainImage”);
var imageArray=[”http://lorempixel.com/400/200/sports/1/", "http://lorempixel.com/400/200/sports/2/", "http://lorempixel.com/400/200/sports/3/", "http://lorempixel.com/400/200/sports/4/"];
myImage.src=imageArray[0];
var指数=0;
函数changeImage(){
myImage.src=imageArray[imageIndex];
imageIndex++;
如果(imageIndex>=imageArray.length)
imageIndex=0;
}
window.onload=函数(){
setInterval(函数(){
changeImage();
}, 1000);
};

这里有一个解决方案,它在图像上设置一个
数据索引
属性来跟踪所选索引。此解决方案与IE8兼容,并且不使用Jquery库。运行下面的代码段进行测试(单击图像转到下一个)

var mimg=document.getElementById('main-image'),
simg=document.getElementById('sec-image')
imgArr=[
'http://placehold.it/50x50/00AAAA',
'http://placehold.it/50x50/AAAA00',
'http://placehold.it/50x50/AA00AA',
];
var loopImages=函数(元素、imgArray、startAt){
var index=element.getAttribute('data-index'),
newIndex=0;
如果(!索引)
新索引=((startAt&startAt
预览(单击以更改)


间隔预览


您必须在某处定义imageIndex。。。。(在changeImage功能之外)您将如何做到这一点?imageIndex=?如果您想从第一个数组成员开始,它应该是0,对吗?这有助于我理解我在做什么,但图像不会加载,您是否将img id放入正文中?
var myImage=document.getElementById(“mainImage”);var imageArray=[“images/1.png”、“images/2.png”、“images/3.png”、“images/4.png”];myImage.src=imageArray[0];var指数=0;函数changeImage(){myImage.src(imageArray[imageIndex]);imageIndex++;if(imageIndex>=imageArray.length){imageIndex=0;}}}setInterval(函数(){changeImage();},1000;)
@sp000142您需要在onload事件中调用该函数。图像不会显示
myImage.src=imageArray[0]在控制台上被视为错误
myImage.src=imageArray[0]在以下情况下显示错误:1)您忘记在页面中添加
。或者2)您忘记设置imageArray。谢谢您的帮助,但您可以添加注释吗?因为我正试图更多地理解代码,但我并不理解其中的所有内容code@sp000142这是不言自明的。如果您不了解诸如
addEventListener
parseInt
之类的函数,或诸如
e.target
之类的属性,请参阅。此函数比其他答案更高级、更灵活,因为1)它可以在任何元素上设置,2)它可以与任何事件/函数一起使用,3)您可以选择首先显示数组中的哪个图像(例如,从第二个位置开始),4)它不会用全局变量污染窗口名称空间。
var myImage = document.getElementById("mainImage"),
    imageArray = ["images/1.png", "images/2.png", "images/3.png", "images/4.png"],
    imageArrayIndex = 0;

myImage.src = imageArray[imageArrayIndex++];

function changeImage () {
    myImage.src = imageArray[imageArrayIndex++];
    imageArrayIndex = imageArrayIndex >= imageArray.length ? 0 : imageArrayIndex;
}