放置在 table 中时,Jssor 滑块响应性不起作用

Jssor slider responsiveness not working when placed inside a table

当您使 Jssor 滑块响应并且它的元素放置在 Table 中时,响应性不再起作用。

<script>
jQuery(document).ready(function ($) {
    var options = {};                            
    var jssor_slider1 = new $JssorSlider$('slider1_container', options);

    //responsive code begin
    //you can remove responsive code if you don't want the slider scales
    //while window resizing
    function ScaleSlider() {
        var parentWidth = $('#slider1_container').parent().width();
        if (parentWidth) {
            jssor_slider1.$ScaleWidth(parentWidth);
        }
        else
            window.setTimeout(ScaleSlider, 30);
    }
    //Scale slider after document ready
    ScaleSlider();

    //Scale slider while window load/resize/orientationchange.
    $(window).bind("load", ScaleSlider);
    $(window).bind("resize", ScaleSlider);
    $(window).bind("orientationchange", ScaleSlider);
    //responsive code end
});
</script>

和html:

<div id="slider1_container" style="position: relative; top: 0px; left: 0px; width: 600px; height: 300px; overflow: hidden;">
<!-- Slides Container -->
<div u="slides" style="cursor: move; position: absolute; overflow: hidden; left: 0px; top: 0px; width: 600px; height: 300px;">
    <div><img u="image" src="image1.jpg" /></div>
    <div><img u="image" src="image2.jpg" /></div>
</div>
<!-- Trigger -->
<script>jssor_slider1_starter('slider1_container');</script>

如果我将 "slider1_container" 放在 table 中,响应将不再有效。
我正在为 SharePoint 创建一个滑块 Web 部件,我无法控制 "slider1_container" 的父级,任何 html 元素都可能存在。
正因为如此 table,这行代码永远不会 returns 小于滑块初始宽度的值:

var jssor_slider1 = new $JssorSlider$('slider1_container', options);

这就是响应失败的原因,因为如果宽度没有变小,那么 $ScaleWidth 方法将不会缩放滑块。

由于我正在为 SharePoint 创建一个滑块 Web 部件,我通过找到另一个 Div 元素解决了这个问题,该元素是导致问题的 table 的父元素。
在这一行中,我设置了我的救星 div 元素的元素 ID,例如:

var parentWidth = $('#savior_parent').width();