Glide.js 每次点击显示 2 张幻灯片

3

我用glide.js制作了一个滑块,它运行良好,但是当我点击第二个glide-bullet时需要移动到索引2,当我点击第三个glide-bullet时需要移动到索引4。

我尝试将data-glide-dir="=1"改为=2,并将data-glide-dir="=2"改为"=4",但它没有起作用(当我点击Material时,类.glide__bullet--active会跳到Impact)。

有人知道我还可以尝试什么吗?谢谢!

window.addEventListener('load', function(){
    new Glide(document.getElementById('glider-2'), {
      type: 'carousel',
      perView: 2,
      perTouch: 2,
      gap: 15,
      breakpoints: {
        1024: {
        perView: 2
        },
        750: {
        perView: 1
        }
    }
  }).mount();
});
.glide__bullets {
  display: flex;
  justify-content: center;
  padding: 0 20px 30px 20px;
  margin: 0 auto;
  max-width: 90%;
}


.glide__bullet {
  position: relative;
  display: flex;
  font-size: 18px;
  justify-content: center;
  flex: 0 1 calc(100% / 3);
  max-width: calc(100% / 3);
  padding: 0;
  border: 0;
  overflow: hidden;
  color: #000;
  height: 40px;
  background-color: transparent;
  box-shadow: inset 0px -4px 0px 0px lightgrey;
}

.glide__bullet::before {
  content: "";
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 4px;
    display: block;
    opacity: 0;
    transform: translateX(-100%);
    background-color: #000;
    transition: transform 5s;
  }

  .glide__bullet--active::before {
      opacity: 1;
      transform: translateX(0);
    }
<div class="glide" id="glider-2">
   <div class="glide__bullets" data-glide-el="controls[nav]">
      <button class="glide__bullet" data-glide-dir="=0">Solar</button>
      <button class="glide__bullet" data-glide-dir="=1">Material</button>
      <button class="glide__bullet" data-glide-dir="=2">Impact</button>
   </div>
        <div class="glide__track" data-glide-el="track">
            <ul class="glide__slides">
              <li>Slide 1</li>
              <li> Slide 2</li>
              <li>Slide 3</li>
              <li>Slide 4</li>
              <li>Slide 5</li>
              <li>Slide 6</li>
            </ul>
        </div>
      </div>

1个回答

1
尝试使用 yourGlide.go('')

https://glidejs.com/docs/api/#go-pattern-

var material = document.querySelector('#material')
var impact = document.querySelector('#impact')
    
material.addEventListener('click', function () {
   yourGlide.go('=1')
})
impact.addEventListener('click', function () {
   yourGlide.go('=3')
})

也许像这样。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接