Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery BX滑块-响应-最小/最大滑块_Jquery_Bxslider_Responsive - Fatal编程技术网

Jquery BX滑块-响应-最小/最大滑块

Jquery BX滑块-响应-最小/最大滑块,jquery,bxslider,responsive,Jquery,Bxslider,Responsive,我正试图改变在不同窗口宽度下显示的幻灯片数量,在初始加载时,将正确数量的幻灯片拉过。但在调整滑块选项中的最小/最大滑块大小时,似乎没有改变,即使我的控制台日志显示了要更新的编号 我的代码是 var minSlides; var maxSlides; function windowWidth() { if ($(window).width() < 420) { minSlides = 1;

我正试图改变在不同窗口宽度下显示的幻灯片数量,在初始加载时,将正确数量的幻灯片拉过。但在调整滑块选项中的最小/最大滑块大小时,似乎没有改变,即使我的控制台日志显示了要更新的编号

我的代码是

        var minSlides;
        var maxSlides;
        function windowWidth() {
            if ($(window).width() < 420) {
                minSlides = 1;
                maxSlides = 1;
            }
            else if ($(window).width() < 768) {
                minSlides = 2;
                maxSlides = 2;
            }
            else if ($(window).width() < 1200) {
                minSlides = 3;
                maxSlides = 3;
            }
            else {
                minSlides = 4;
                maxSlides = 4;
            }
        }

        windowWidth();
        var slider = $('.m-partners-slider').bxSlider({
            pager: false,
            controls: false,
            auto: true,
            slideWidth: 5000,
            startSlide: 0,
            nextText: ' ',
            prevText: ' ',
            adaptiveHeight: true,
            moveSlides: 1,
            slideMargin: 20,

            minSlides: minSlides,
            maxSlides: maxSlides,
        });

        $('.slider-prev').click(function () {
            var current = slider.getCurrentSlide();
            slider.goToPrevSlide(current) - 1;
        });
        $('.slider-next').click(function () {
            var current = slider.getCurrentSlide();
            slider.goToNextSlide(current) + 1;
        });

        $(window).on("orientationchange resize", function () {
            windowWidth();
            slider.reloadSlider();
            console.log("minSlides:" + minSlides);
            console.log("maxSlides:" + maxSlides);
        })
var-minSlides;
var-maxSlides;
函数windowWidth(){
如果($(窗口).width()<420){
minSlides=1;
maxSlides=1;
}
else if($(窗口).width()<768){
minSlides=2;
maxSlides=2;
}
else if($(窗口).width()<1200){
minSlides=3;
maxSlides=3;
}
否则{
minSlides=4;
maxSlides=4;
}
}
窗宽();
变量滑块=$('.m-partners-slider').bxSlider({
传呼机:错,
控件:false,
是的,
滑动宽度:5000,
开始滑动:0,
下一个文本:“”,
上一个文本:“”,
自适应高度:正确,
第一,,
幻灯片摘要:20,
米斯利德斯:米斯利德斯,
maxSlides:maxSlides,
});
$('.slider prev')。单击(函数(){
var current=slider.getCurrentSlide();
滑块。goToPrevSlide(当前)-1;
});
$('.slider next')。单击(函数(){
var current=slider.getCurrentSlide();
slider.goToNextSlide(当前)+1;
});
$(窗口)。打开(“方向更改大小”,函数(){
窗宽();
slider.reloadsloider();
console.log(“minSlides:+minSlides”);
console.log(“maxSlides:+maxSlides”);
})
任何帮助都将不胜感激

调用
reloadSlider()
将重新使用初始化期间指定的相同配置。要更改
minSlides
maxSlides
值,需要将新的配置对象传递给
reloadSlider()
函数。像这样的方法应该会奏效:

// Use the conventional $ prefix for variables that hold jQuery objects.
var $slider;

// If the only purpose of the windowWidth() function is to set the slide variables,
// it can be renamed and rewritten to supply the full configuration object instead.
function buildSliderConfiguration() {

    // When possible, you should cache calls to jQuery functions to improve performance.
    var windowWidth = $(window).width();
    var numberOfVisibleSlides;

    if (windowWidth < 420) {
        numberOfVisibleSlides = 1;
    } else if (windowWidth < 768) {
        numberOfVisibleSlides = 2;
    } else if (windowWidth < 1200) {
        numberOfVisibleSlides = 3;
    } else {
        numberOfVisibleSlides = 4;
    }

    return {
        pager: false,
        controls: false,
        auto: true,
        slideWidth: 5000,
        startSlide: 0,
        nextText: ' ',
        prevText: ' ',
        adaptiveHeight: true,
        moveSlides: 1,
        slideMargin: 20,
        minSlides: numberOfVisibleSlides,
        maxSlides: numberOfVisibleSlides
    };
}

// This function can be called either to initialize the slider for the first time
// or to reload the slider when its size changes.
function configureSlider() {
    var config = buildSliderConfiguration();

    if ($slider && $slider.reloadSlider) {
        // If the slider has already been initialized, reload it.
        $slider.reloadSlider(config);
    } else {
        // Otherwise, initialize the slider.
        $slider = $('.m-partners-slider').bxSlider(config);
    }
}

$('.slider-prev').click(function () {
    var current = $slider.getCurrentSlide();
    $slider.goToPrevSlide(current) - 1;
});

$('.slider-next').click(function () {
    var current = $slider.getCurrentSlide();
    $slider.goToNextSlide(current) + 1;
});

// Configure the slider every time its size changes.
$(window).on("orientationchange resize", configureSlider);
// Configure the slider once on page load.
configureSlider();
//对保存jQuery对象的变量使用常规的$prefix。
var$滑块;
//如果windowWidth()函数的唯一用途是设置幻灯片变量,
//可以重命名和重写它以提供完整的配置对象。
函数buildSliderConfiguration(){
//如果可能,应该缓存对jQuery函数的调用以提高性能。
var windowWidth=$(window.width();
var numberOfVisibleSlides;
如果(窗宽<420){
可见幻灯片数=1;
}否则如果(窗宽<768){
可见幻灯片数=2;
}否则如果(窗宽<1200){
可见幻灯片数=3;
}否则{
可见幻灯片数=4;
}
返回{
传呼机:错,
控件:false,
是的,
滑动宽度:5000,
开始滑动:0,
下一个文本:“”,
上一个文本:“”,
自适应高度:正确,
第一,,
幻灯片摘要:20,
小幻灯片:可见幻灯片的数量,
maxSlides:numberOfVisibleSlides
};
}
//可以调用此函数来首次初始化滑块
//或在滑块大小更改时重新加载滑块。
函数配置滑块(){
var config=buildSliderConfiguration();
如果($slider&&$slider.reloadsilder){
//如果滑块已初始化,请重新加载它。
$slider.reloadSlider(配置);
}否则{
//否则,初始化滑块。
$slider=$('.m-partners-slider').bxSlider(配置);
}
}
$('.slider prev')。单击(函数(){
var current=$slider.getCurrentSlide();
$slider.goToPrevSlide(当前)-1;
});
$('.slider next')。单击(函数(){
var current=$slider.getCurrentSlide();
$slider.goToNextSlide(当前)+1;
});
//每次滑块大小更改时配置滑块。
$(窗口)。打开(“方向更改大小”,配置滑块);
//在页面加载时配置滑块一次。
配置滑块();

真是一种享受。完全正确干杯。这正是我想要发展自己的地方,但从来没有时间。实现一个配置对象真是太棒了。玩得好,先生。打得好。