Foundation 6 Orbit:通过程序更改幻灯片

Foundation 6 Orbit: Change Slide programatically

本文关键字:程序 幻灯片 过程 Orbit Foundation      更新时间:2023-09-26

在Foundation 6上。

我有一个轨道滑块,除了默认行为外,它还需要能够在单击外部按钮时更改滑块。

有没有办法做到这一点?

我试过这个代码:

jQuery('#theslider').foundation('changeSlide', true, slide_id); 
//slide_id is the jQuery object's slide ex: jQuery(#slideid);

它有点起作用,但它的作用不稳定。

它有时会在一段时间内正常工作,但在某个时候,幻灯片会快速从屏幕上消失,或者干脆冻结。

我似乎找不到正在发生的事情的模式。

我不是javascript方面的专家,所以我可能遗漏了一些非常明显的东西。

我的解决方案如下:

$('.orbit-external-control').on('click', function () {
  var activeIdx = ~~$('.orbit .orbit-bullets .is-active').data('slide')
  var changeIdx = ~~$(this).data('slide')
  var isLTR = (changeIdx > activeIdx) ? true : false
  if (activeIdx ===  changeIdx)
    return
  var chosenSlide = $('.orbit .orbit-slide').filter(function (index) {
    return index === changeIdx
  })
  $('.orbit').foundation('changeSlide', isLTR, chosenSlide, changeIdx) 
})