在 jssor 滑块中缩放

scale in jssor slider

我对这个比例代码没问题:

var MAX_WIDTH = 2000;

function ScaleSlider() {
    window.setTimeout(ScaleSlider, 30);
}

ScaleSlider();
$Jssor$.$AddEvent(window, "load", ScaleSlider);
$Jssor$.$AddEvent(window, "resize", ScaleSlider);
$Jssor$.$AddEvent(window, "orientationchange", ScaleSlider);

但这对滑块造成了问题。 实际上我的滑块选项是这样的:

var jssor_1_options = {
    $AutoPlay: 0,
    $SlideWidth: 200,
    $SlideSpacing: 5,
    $Loop: 0,
    $ArrowNavigatorOptions: {
        $Class: $JssorArrowNavigator$,
        $Steps: 3
    }
}

这意味着它会同时显示许多图像,因为“$SlideWidth: 200”

我用了 12 张图片。但是当我 运行 滑块时,它只显示大约 6 或 7 张图像,并且认为滑块已完成。不能超过这 6 或 7 个。

你应该知道当我删除“$Loop: 0”时它会正常工作。

这是我的代码示例: https://code.sololearn.com/WQ80P1R1Un0J/#

我检查了你的演示,它有效。

编辑 ScaleSlider 函数

中缺少响应代码
jssor_mostsold_slider_init = function() {
    var jssor_1_options = {
        $AutoPlay: 0,
        $SlideWidth: 200,
        $SlideSpacing: 5,
        $Loop: 0,
        $ArrowNavigatorOptions: {
            $Class: $JssorArrowNavigator$,
            $Steps: 3
        }
    };

    var jssor_1_slider = new $JssorSlider$("jssor-mostsold-slider", jssor_1_options);

    /*#region responsive code begin*/

    var MAX_WIDTH = 2000;

    function ScaleSlider() {
            window.setTimeout(ScaleSlider, 30);
    }

    ScaleSlider();
    $Jssor$.$AddEvent(window, "load", ScaleSlider);
    $Jssor$.$AddEvent(window, "resize", ScaleSlider);
    $Jssor$.$AddEvent(window, "orientationchange", ScaleSlider);
};

参见下面的 ScaleSlider 示例,

function ScaleSlider() {
    var containerElement = jssor_1_slider.$Elmt.parentNode;
    var containerWidth = containerElement.clientWidth;

    if (containerWidth) {

        var expectedWidth = Math.min(MAX_WIDTH || containerWidth, containerWidth);

        jssor_1_slider.$ScaleWidth(expectedWidth);
    }
    else {
        window.setTimeout(ScaleSlider, 30);
    }
}