FlexSlider itemWidth在窗口调整大小时未更新

时间:2018-10-26 07:35:55

标签: jquery html flexslider

我需要在下图中实现设计。因此,我在FlexSlider中动态计算了itemWidth。 enter image description here 但是在调整浏览器窗口大小时不会更新。计算出的宽度是正确的,但未反映在实际的FlexSlider项目中。仅在执行“之后”功能后,滑块才会显示正确的宽度。计算itemWidth之后,是否有任何可用的方法来刷新FlexSlider。

$(document).ready(function() {


 /* store the slider in a local variable */
  var $window = $(window),
    flexslider = {
      vars: {}
    };

  $('.custom_slider').flexslider({
    animation: "slide",
    controlNav: true,
    animationLoop: true,
    slideshow: true,
    directionNav: true,
    itemWidth: getSliderItemWidth(),
    itemMargin: 20,
    customDirectionNav: $(".custom_navigation a"),
    start: function(slider) {
      flexslider = slider;
    },
    after: function(slider) {
      slider.resize();
      /* auto-restart player if paused after action */
      if (!slider.playing) {
        slider.play();
      }
    }
  });

  /* check slider width on resize event */
  $window.resize(function() {
    var sliderItemWidth = getSliderItemWidth();
    flexslider.vars.itemWidth = sliderItemWidth;
  });

  function getSliderItemWidth() {
    var windowWidth = getWidth(),
      desktopSliderWidth = (windowWidth / 2) - 70,
      sliderItemWidth = (windowWidth > 768) ? desktopSliderWidth : windowWidth;
    return sliderItemWidth;
  }

});

小提琴链接:https://jsfiddle.net/elizabethkmathew/kn0ojsh9/

0 个答案:

没有答案