2017-10-07 63 views
1

我希望我的jssor滑块始终保持父节点的尺寸(高度和宽度)。有了这个代码,它只填满了宽度,但它扩大了高度,这是我想要主要用于响应用途的行为。Jssor滑块填充父级高度和宽度

var jssor_1_SlideshowTransitions = [ 
     {$Duration:500,$Delay:30,$Cols:8,$Rows:4,$Clip:15,$SlideOut:true,$Formation:$JssorSlideshowFormations$.$FormationStraightStairs,$Assembly:2049,$Easing:$Jease$.$OutQuad}, 
    ]; 

    var jssor_1_options = { 
     $AutoPlay: 1, 
     $SlideshowOptions: { 
      $Class: $JssorSlideshowRunner$, 
      $Transitions: jssor_1_SlideshowTransitions, 
      $TransitionsOrder: 1 
     }, 
     $ArrowNavigatorOptions: { 
      $Class: $JssorArrowNavigator$ 
     }, 
     $BulletNavigatorOptions: { 
      $Class: $JssorBulletNavigator$ 
     } 
    }; 

    var jssor_1_slider = new $JssorSlider$("jssor_1", jssor_1_options); 

    /*#region responsive code begin*/ 

    var MAX_WIDTH = 3000; 

    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); 
     } 
    } 



    ScaleSlider(); 

    $(window).bind("load", ScaleSlider); 
    $(window).bind("resize", ScaleSlider); 
    $(window).bind("orientationchange", ScaleSlider); 
    /*#endregion responsive code end*/ 

回答

0

请使用新的API方法$ScaleSize

var MAX_WIDTH = 3000; 
var MAX_HEIGHT = 3000; 

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

    if (containerWidth) { 
     var expectedWidth = Math.min(MAX_WIDTH || containerWidth, containerWidth); 
     var expectedHeight = Math.min(MAX_HEIGHT || containerHeight, containerHeight); 

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