javascript - 使用 javascript 将 slider 停止在最后一张图片处

标签 javascript slider

我是 javascript 的初学者,我正在寻找一种解决方案来在最后一张图片之后停止我的 slider 。以下代码向您展示了有关它的当前代码。大部分来自w3schools。

var slideIndex = 1;
showSlides(slideIndex);

function next_prev(n) {
  showSlides(slideIndex += n);
}

function startbild(){
  var slides = document.getElementsByClassName("mySlides");
  if(slides == 0){} else{
    slides[0].style.display = "block";
    for (i = 1; i < slides.length; i++) {
    slides[i].style.display = "none"; 
    document.getElementById("dia-shows").innerHTML = 1;
    }
  }
}

function showSlides(n) {
  var i;
  var slides = document.getElementsByClassName("mySlides");
  if (n > slides.length) {slideIndex = 1} 
  if (n < 1) {slideIndex = slides.length}
  for (i = 0; i < slides.length; i++) {
    slides[i].style.display = "none"; 
  }
  slides[slideIndex-1].style.display = "block";
  document.getElementById("dia-shows").innerHTML = slideIndex;
  document.getElementById("dia-gesamt").innerHTML = slides.length;
}

最佳答案

我认为,您的代码不完整。您可以发布一个工作示例来代替问题发生的位置吗?

改变

if (n < 1) {slideIndex = slides.length}
if (n > slides.length) {slideIndex = 1} 

if (n < 1) {
  slideIndex = 1;
} else if (n > slides.length) {
  slideIndex = slides.length;
} else {
  slideIndex = n;
}

应该在两个方向上做你想做的事情。

当第一帧或最后一帧可见时,您应该隐藏允许用户再次滑动的相关控件。

每当传递的 n 超出有效范围时,它就会被限制在该范围内。

关于javascript - 使用 javascript 将 slider 停止在最后一张图片处,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42327773/

相关文章:

JavaScript 内部对象键带有带有空格的字符串。?

javascript - 如何对API返回的json进行排序?

objective-c - 将 NSSlider 绑定(bind)到 NSTextField 并使用 nil minValue?

javascript - 为什么在此幻灯片上使用 setTimeout?

jquery-ui slider 从代码更新值

javascript - 在 Slider Div 上设置滚动

javascript - 定期发送ajax请求

javascript - 使用 hammer.js 的最小拖动/滑动距离

javascript - 仅渲染组件一次的逻辑

javascript - 使用 jQuery Slider 使用淡入淡出方式擦洗图像