如何将“Flexslider”当前图像编号获取到可以在函数中使用的变量中

How do I get the 'Flexslider' current image number into a variable which I can use in a function?

本文关键字:函数 变量 获取 Flexslider 编号 图像      更新时间:2023-09-26

>我正在使用flexslider。此页面上的高级点击下有一个示例(在"新的、强大的回调 API"部分中),他们使用 slider.currentSlide 来获取当前幻灯片的编号。

如何在完全不同的函数中访问此值?我正在考虑一个全局变量,但我不知道这是否有效,我不知道是否可以将函数中的变量声明为全局变量。

您可以通过使用以下方法访问 flexslider 对象来避免全局变量:

$(element).data('flexslider')

因此,在您的情况下,您将使用:

$(element).data('flexslider').currentSlide

您可以声明一个全局变量并在 after 回调函数中设置值。这里有一些伪代码可以帮助你得到这个想法:

var curSlide;
$(window).load(function() {
  $('.flexslider').flexslider({
    after: function(slider) {
      window.curSlide = slider.currentSlide;
    }
  });
});
function useCurSlideHere() {
  alert(window.curSlide);
}

尽管理想情况下,您将避免使用全局变量,并且可以将useCurSlideHere函数创建为一个类,您可以在window.load上创建一个实例,并在回调函数中传递curSlide变量时使用它。

$(window).load(function() {
  var customSlider = new useCurSlideHere();
  $('.flexslider').flexslider({
    after: function(slider) {
      customSlider.setCurSlide(slider.currentSlide);
    }
  });      
});
function useCurSlideHere() {
  this.curSlide = 0;
  this.setCurSlide = function(curSlide) {
    this.curSlide = curSlide;
  }
  this.getCurSlide= function() {
    alert(this.curSlide);
  }
}
编辑

:编辑答案以使用slider.currentSlide。