放置在 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();
当您使 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();