在为网页制作图库时,我遇到了js自动运行(next_image)函数的问题,经过一番搜索,我发现这是由于语句后的()引起的。 但是,我一辈子都无法弄清楚如何将clicked_id传递给next_image函数。
所以我的问题是:我怎么做才能使该函数仅在单击按钮后仍然发送clicked_id才能运行?
function opencase(clicked_id) {
document.getElementById("right_arrow").addEventListener("click", next_image(clicked_id));
}
function next_image(photoid){
console.log(photoid);
photoid++;
document.getElementById("disp").setAttribute("src", "images/image"+photoid+".jpg");
console.log(photoid);
}
任何帮助将不胜感激:D
答案 0 :(得分:2)
从addEventListener
回调函数中调用它,而不是直接调用该函数
function opencase(clicked_id) {
document.getElementById("right_arrow").addEventListener("click", function() {
next_image(clicked_id)
});
}
function next_image(photoid) {
console.log(photoid);
photoid++;
document.getElementById("disp").setAttribute("src", "images/image" + photoid + ".jpg");
console.log(photoid);
}