gpt4 book ai didi

javascript - 传递给函数的变量不工作 JavaScript

转载 作者:太空宇宙 更新时间:2023-11-03 21:05:59 25 4
gpt4 key购买 nike

我正在尝试创建两个函数,它们允许我滚动浏览一组图像源并将它们显示在我的 ImageView 中:一个 nextImage() 和一个 previousImage() 。如果我使用原始的 num 变量,这些就可以工作,但如果我尝试使它更通用,以便我可以在我的代码中重用它们,并且我将变量 num 作为参数传递到我的 window.onload 中,它不起作用,它只是达到数字1,不会倒退。请看代码。提前谢谢你,亚历山德罗

var num = 0;

var imagesArray1 = ["img/campionatigiovanili2018/img1.jpg", "img/campionatigiovanili2018/img2.jpg", "img/campionatigiovanili2018/img3.jpg"];

window.onload = function(){
let logo = document.getElementById('logo');
logo.addEventListener("click", function(){
window.location.href = "index.html";
});



document.getElementById('postImage1').setAttribute("src", imagesArray1[num]);


//previous image
document.getElementById('previousImage').addEventListener("click", function(){
previousImage("postImage1", imagesArray1, num)
});

document.getElementById('nextImage').addEventListener("click", function(){
nextImage("postImage1", imagesArray1, num);
});

};

function nextImage(postImage, imageArray, myVar){
if (myVar < 2) {
myVar = myVar+1
document.getElementById(postImage).setAttribute("src", imageArray[myVar]);
console.log(myVar);
} else {
}
};

function previousImage(postImage, imageArray, myVar){
if (myVar > 0) {
myVar = myVar-1
document.getElementById(postImage).setAttribute("src", imageArray[myVar]);
console.log(myVar);
} else {
};
}

最佳答案

请在函数内部访问num变量,不要将其作为参数传递:

function nextImage(postImage, imageArray){
if (num < 2) {
num = num +1
document.getElementById(postImage).setAttribute("src", imageArray[num]);
console.log(num);
} else {
}
};

因为 myVarnum 在这种情况下是两个不同的变量。

关于javascript - 传递给函数的变量不工作 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52708672/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com