javascript - javascript轮播不滑动
问题描述
我正在设计一个带有全屏轮播的网页。轮播确实会滑动到下一个图像,但不会显示想要的图像。我认为问题出在我的 javascript 工作上,因为我不精通该语言,但它也可能是 html 文本,我在下面的 JSFiddle 上包含了指向我的程序的链接
let sliderImages = document.querySelectorAll('.slide');
arrowLeft = document.querySelectorAll('#arrow-left');
arrowRight = document.querySelectorAll('#arrow-right');
current = 0;
//clear all images
function reset(){
for (let i = 0; i < sliderImages.length; i++){
sliderImages[i].style.display = 'none';
}
}
//start Slider (carousel)
function startSlide(){
reset();
sliderImages[0].style.display = 'block';
}
//show previous
function slideLeft(){
reset();
sliderImages[current -1].style.display = 'block';
current--;
}
//show next
function slideRight(){
reset();
sliderImages[current +1].style.display = 'block';
current++;
}
//Left arrow click
arrowLeft.addEventlistener('click', function(){
if (current === 0){
current = sliderImages.length;
}
slideLeft();
});
//Right arrow click
arrowRight.addEventListener('click', function(){
if (current === sliderImages.length - 1){
current = -1;
}
slideRight();
});
startSlide();
解决方案
查看您的代码,您有 2 个错误:一个是您在arrowLeft.addEventListener
, must be中有错字,arrowLeft.addEventlistener
第二个是querySelectorAll
检索一个数组,您必须选择第一个,这看起来像这样:arrowLeft = document.querySelectorAll('#arrow-left')[0];
. 另外你绑定onclick
,addEventListener
只需要一个。
推荐阅读
- transactions - MuleSoft:两个不同 REST 调用的 XA 事务管理
- java - 如何获得icc认证?
- java - 如何在 aem 中导航/浏览下一页/上一页?
- angular - Mat Input 两种方式绑定到值属性不起作用
- jquery - 使用 jquery 生成动作 laravel
- windows - Git Bash - 分段错误问题(Windows)
- ag-grid - 编辑单元格中的 Ag Grid 自动完成
- c# - How to get IP address of client from controller c# mvc
- css - 两个样式表以相同的特异性针对同一个元素,哪个优先?
- android - React Native Android TextInput 占位符样式未完全更新