javascript - 禁用图像滑块Javascript中最后一张图像中的下一个按钮
问题描述
我正在使用带有下一步按钮的 Java 脚本构建一个图像滑块以在图像之间切换。因此,当到达最后一张图像时,它会自动从第一张图像开始。我想禁用最后一张图片中的下一个按钮。或使用其他按钮(如提交或其他按钮)更改它
HTML:
<div class="slider">
<!-- fade css -->
<div class="myslide fade">
<div class="txt">
<h1>IMAGE 1</h1>
<p>Web Devoloper<br>Subscribe To My Channel For More Videos</p>
</div>
<img src="img1.jpg" style="width: 100%; height: 100%;">
</div>
<div class="myslide fade">
<div class="txt">
<h1>IMAGE 2</h1>
<p>Web Devoloper<br>Subscribe To My Channel For More Videos</p>
</div>
<img src="img2.jpg" style="width: 100%; height: 100%;">
</div>
<div class="myslide fade">
<div class="txt">
<h1>IMAGE 3</h1>
<p>Web Devoloper<br>Subscribe To My Channel For More Videos</p>
</div>
<img src="img3.jpg" style="width: 100%; height: 100%;">
</div>
</div>
a class="next" onclick="plusSlides(1)">❯</a>
JS:
const myslide = document.querySelectorAll('.myslide'),
dot = document.querySelectorAll('.dot');
let counter = 1;
slidefun(counter);
let timer = setInterval(autoSlide, 8000);
function autoSlide() {
counter += 1;
slidefun(counter);
}
function plusSlides(n) {
counter += n;
slidefun(counter);
resetTimer();
}
function currentSlide(n) {
counter = n;
slidefun(counter);
resetTimer();
}
function resetTimer() {
clearInterval(timer);
timer = setInterval(autoSlide, 8000);
}
function slidefun(n) {
let i;
for(i = 0;i<myslide.length;i++){
myslide[i].style.display = "none";
}
for(i = 0;i<dot.length;i++) {
dot[i].className = dot[i].className.replace(' active', '');
}
if(n > myslide.length){
counter = 1;
}
if(n < 1){
counter = myslide.length;
}
myslide[counter - 1].style.display = "block";
dot[counter - 1].className += " active";
}
提前致谢。
解决方案
当你到达最后一张图像时,counter
和myslide.length
将是相等的。所以你可以试试这个
注意: a
不支持disable
,所以使用button
<button class="next" id="nextBtn" onclick="plusSlides(1)">❯</button>
function slidefun(n) {
// ... your existing logics
const nextBtn = document.getElementById('nextBtn');
if ( counter === myslide.length ) {
nextBtn.disabled = true;
}
}
推荐阅读
- google-cloud-platform - 从 GCP 快照启动 ISO - 如何?
- c++ - (C++) 我必须使用幻数在数组中的正确位置显示值。我怎样才能摆脱它?
- flutter - 在 for 循环中颤动小部件
- zeromq - 如何在 ac# 和 python 应用程序之间设置 ZeroMQ 请求-回复
- c# - C# 使用 Rest Api 连接到 AWS,即没有 aws 库
- python - Python lambda函数无法删除Series中的子字符串
- android - 写空 NDEF 消息后,我可以收到 NDEF_DISCOVERED Intent 吗?
- web - 为什么 fbi.com 是本地主机?
- javascript - 材料顶栏上方的组件?反应原生
- javascript - Reactjs 中的 Ckeditor 5 无法正常工作