我需要在下图中实现设计。因此,我在FlexSlider中动态计算了itemWidth。 但是在调整浏览器窗口大小时不会更新。计算出的宽度是正确的,但未反映在实际的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;
}
});