【发布时间】:2021-07-01 07:35:15
【问题描述】:
此 JS 代码无法正常工作。是什么原因?
let indexOfSlide = 1; // update me !
show(indexOfSlide);
function liveSlide(n){
show(indexOfSlide = n); // update me !
}
function plusSlidesItem(n){
show(indexOfSlide += n);
}
function show(indexOfSlide) {
let slides_item = document.getElementsByClassName("slides-item");
let tiny_img = document.getElementsByClassName("tiny-img");
let i;
if( indexOfSlide < 1){
indexOfSlide = slides_item.length;
}
if( indexOfSlide > slides_item.length){
indexOfSlide = 1;
}
for(i=0;i<slides_item.length;i++){
slides_item[i].style.display = "none";
}
for(i=0;i< slides_item.length; i++){
tiny_img[i].style.opacity = "0.5";
}
slides_item[indexOfSlide-1].style.display = "initial";
tiny_img[indexOfSlide-1].style.opacity = "1" ;
}
当 indexOfSlide 在 show() 函数的参数中被 n 替换时,并且在 show() 中的两个 if 语句条件中,它可以正常工作。为什么?
【问题讨论】:
标签: javascript arguments slideshow