2015-10-28 62 views
0

我試圖製作具有縮略圖的響應式jssor滑塊,但縮略圖總是應該具有相同的高度。我已將ThumbnailNavigatorOptions.$Scale設置爲false,並將縮略圖導航器放入包裝中(建議爲here),但它不起作用。縮略圖導航器正在縮放。如果我刪除包裝,它不會縮放,但佈局是搞砸了。縮略圖也應始終居中居中。具有固定高度縮略圖的響應式jssor

在這裏,我試了一下(如果你把HTML到jssor的demos-jquery文件夾,它會加載):

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="utf-8"> 
    <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
    <title>Image Gallery Theme - Jssor Slider, Carousel, Slideshow with Javascript Source Code</title> 
</head> 
<body style="padding: 0; margin: 0; font-family:Arial, Verdana;background-color:#fff;"> 
    <!-- it works the same with all jquery version from 1.x to 2.x --> 
    <script type="text/javascript" src="../js/jquery-1.9.1.min.js"></script> 
    <script type="text/javascript" src="../js/jssor.js"></script> 
    <script type="text/javascript" src="../js/jssor.slider.js"></script> 

    <script> 

     jQuery(document).ready(function ($) { 

      var _SlideshowTransitions = [ 
        {$Duration: 1200, x: 0.3, $During: { $Left: [0.3, 0.7] }, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 } 
       ]; 

      var options = { 
       $AutoPlay: true,         //[Optional] Whether to auto play, to enable slideshow, this option must be set to true, default value is false 
       $AutoPlayInterval: 1500,       //[Optional] Interval (in milliseconds) to go for next slide since the previous stopped if the slider is auto playing, default value is 3000 
       $PauseOnHover: 1,        //[Optional] Whether to pause when mouse over if a slider is auto playing, 0 no pause, 1 pause for desktop, 2 pause for touch device, 3 pause for desktop and touch device, 4 freeze for desktop, 8 freeze for touch device, 12 freeze for desktop and touch device, default value is 1 

       $DragOrientation: 3,        //[Optional] Orientation to drag slide, 0 no drag, 1 horizental, 2 vertical, 3 either, default value is 1 (Note that the $DragOrientation should be the same as $PlayOrientation when $DisplayPieces is greater than 1, or parking position is not 0) 
       $ArrowKeyNavigation: true,       //[Optional] Allows keyboard (arrow key) navigation or not, default value is false 
       $SlideDuration: 800,        //Specifies default duration (swipe) for slide in milliseconds 

       $SlideshowOptions: {        //[Optional] Options to specify and enable slideshow or not 
        $Class: $JssorSlideshowRunner$,     //[Required] Class to create instance of slideshow 
        $Transitions: _SlideshowTransitions,   //[Required] An array of slideshow transitions to play slideshow 
        $TransitionsOrder: 1,       //[Optional] The way to choose transition to play slide, 1 Sequence, 0 Random 
        $ShowLink: true         //[Optional] Whether to bring slide link on top of the slider when slideshow is running, default value is false 
       }, 

       $ArrowNavigatorOptions: {      //[Optional] Options to specify and enable arrow navigator or not 
        $Class: $JssorArrowNavigator$,    //[Requried] Class to create arrow navigator instance 
        $ChanceToShow: 1        //[Required] 0 Never, 1 Mouse Over, 2 Always 
       }, 

       $ThumbnailNavigatorOptions: {      //[Optional] Options to specify and enable thumbnail navigator or not 
        $Class: $JssorThumbnailNavigator$,    //[Required] Class to create thumbnail navigator instance 
        $ChanceToShow: 2,        //[Required] 0 Never, 1 Mouse Over, 2 Always 
        $AutoCenter: 1, 
        $Scale: false,         //Scales thumbnail navigator or not while slider scale 
        $ActionMode: 1,         //[Optional] 0 None, 1 act by click, 2 act by mouse hover, 3 both, default value is 1 
        $SpacingX: 8,         //[Optional] Horizontal space between each thumbnail in pixel, default value is 0 
        $DisplayPieces: 10,        //[Optional] Number of pieces to display, default value is 1 
        $ParkingPosition: 360       //[Optional] The offset position to park thumbnail 
       } 
      }; 

      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 resizes 
      function ScaleSlider() { 
       var parentWidth = jssor_slider1.$Elmt.parentNode.clientWidth; 
       if (parentWidth) 
        jssor_slider1.$ScaleWidth(Math.max(Math.min(parentWidth, 800), 300)); 
       else 
        window.setTimeout(ScaleSlider, 30); 
      } 

      ScaleSlider(); 

      $Jssor$.$AddEvent(window, "resize", $Jssor$.$WindowResizeFilter(window, ScaleSlider)); 
      $Jssor$.$AddEvent(window, "orientationchange", ScaleSlider); 
      //responsive code end 
     }); 
    </script> 
    <!-- Jssor Slider Begin --> 
    <!-- To move inline styles to css file/block, please specify a class name for each element. --> 
    <div id="slider1_container" style="position: relative; top: 0px; left: 0px; width: 800px; 
     height: 456px; background: #191919; overflow: hidden;"> 

     <!-- Loading Screen --> 
     <div u="loading" style="position: absolute; top: 0px; left: 0px;"> 
      <div style="filter: alpha(opacity=70); opacity:0.7; position: absolute; display: block; 
       background-color: #000000; top: 0px; left: 0px;width: 100%;height:100%;"> 
      </div> 
      <div style="position: absolute; display: block; background: url(../img/loading.gif) no-repeat center center; 
       top: 0px; left: 0px;width: 100%;height:100%;"> 
      </div> 
     </div> 

     <!-- Slides Container --> 
     <div u="slides" style="cursor: move; position: absolute; left: 0px; top: 0px; width: 800px; height: 356px; overflow: hidden;"> 
      <div> 
       <img u="image" src="../img/alila/01.jpg" /> 
       <img u="thumb" src="../img/alila/thumb-01.jpg" /> 
      </div> 
      <div> 
       <img u="image" src="../img/alila/02.jpg" /> 
       <img u="thumb" src="../img/alila/thumb-02.jpg" /> 
      </div> 
      <div> 
       <img u="image" src="../img/alila/03.jpg" /> 
       <img u="thumb" src="../img/alila/thumb-03.jpg" /> 
      </div> 
      <div> 
       <img u="image" src="../img/alila/04.jpg" /> 
       <img u="thumb" src="../img/alila/thumb-04.jpg" /> 
      </div> 
      <div> 
       <img u="image" src="../img/alila/05.jpg" /> 
       <img u="thumb" src="../img/alila/thumb-05.jpg" /> 
      </div> 
      <div> 
       <img u="image" src="../img/alila/06.jpg" /> 
       <img u="thumb" src="../img/alila/thumb-06.jpg" /> 
      </div> 
     </div> 

     <!--#region Arrow Navigator Skin Begin --> 
     <style> 
      /* jssor slider arrow navigator skin 05 css */ 
      /* 
      .jssora05l     (normal) 
      .jssora05r     (normal) 
      .jssora05l:hover   (normal mouseover) 
      .jssora05r:hover   (normal mouseover) 
      .jssora05l.jssora05ldn  (mousedown) 
      .jssora05r.jssora05rdn  (mousedown) 
      */ 
      .jssora05l, .jssora05r { 
       display: block; 
       position: absolute; 
       /* size of arrow element */ 
       width: 40px; 
       height: 40px; 
       cursor: pointer; 
       background: url(../img/a17.png) no-repeat; 
       overflow: hidden; 
      } 
      .jssora05l { background-position: -10px -40px; } 
      .jssora05r { background-position: -70px -40px; } 
      .jssora05l:hover { background-position: -130px -40px; } 
      .jssora05r:hover { background-position: -190px -40px; } 
      .jssora05l.jssora05ldn { background-position: -250px -40px; } 
      .jssora05r.jssora05rdn { background-position: -310px -40px; } 
     </style> 
     <!-- Arrow Left --> 
     <span u="arrowleft" class="jssora05l" style="top: 158px; left: 8px;"> 
     </span> 
     <!-- Arrow Right --> 
     <span u="arrowright" class="jssora05r" style="top: 158px; right: 8px"> 
     </span> 
     <!--#endregion Arrow Navigator Skin End --> 

     <div u="thumbwrapper" style="position: absolute; width: 100%; height: 100px; bottom: 0px; overflow: hidden;"> 
      <div style="position: relative; left: 50%; width: 5000px; height: 100px; text-align: center; margin-left: -2500px;"> 
       <!--#region Thumbnail Navigator Skin Begin --> 
       <!-- Help: http://www.jssor.com/development/slider-with-thumbnail-navigator-jquery.html --> 
       <style> 
          /* jssor slider thumbnail navigator skin 01 css */ 
          /* 
        .jssort01 .p   (normal) 
        .jssort01 .p:hover  (normal mouseover) 
        .jssort01 .p.pav  (active) 
        .jssort01 .p.pdn  (mousedown) 
        */ 

          .jssort01 { 
           position: absolute; 
           /* size of thumbnail navigator container */ 
           width: 800px; 
           height: 100px; 
          } 

           .jssort01 .p { 
            position: absolute; 
            top: 0; 
            left: 0; 
            width: 72px; 
            height: 72px; 
           } 

           .jssort01 .t { 
            position: absolute; 
            top: 0; 
            left: 0; 
            width: 100%; 
            height: 100%; 
            border: none; 
           } 

           .jssort01 .w { 
            position: absolute; 
            top: 0px; 
            left: 0px; 
            width: 100%; 
            height: 100%; 
           } 

           .jssort01 .c { 
            position: absolute; 
            top: 0px; 
            left: 0px; 
            width: 68px; 
            height: 68px; 
            border: #000 2px solid; 
            box-sizing: content-box; 
            background: url(../img/t01.png) -800px -800px no-repeat; 
            _background: none; 
           } 

           .jssort01 .pav .c { 
            top: 2px; 
            _top: 0px; 
            left: 2px; 
            _left: 0px; 
            width: 68px; 
            height: 68px; 
            border: #000 0px solid; 
            _border: #fff 2px solid; 
            background-position: 50% 50%; 
           } 

           .jssort01 .p:hover .c { 
            top: 0px; 
            left: 0px; 
            width: 70px; 
            height: 70px; 
            border: #fff 1px solid; 
            background-position: 50% 50%; 
           } 

           .jssort01 .p.pdn .c { 
            background-position: 50% 50%; 
            width: 68px; 
            height: 68px; 
            border: #000 2px solid; 
           } 

           * html .jssort01 .c, * html .jssort01 .pdn .c, * html .jssort01 .pav .c { 
            /* ie quirks mode adjust */ 
            width /**/: 72px; 
            height /**/: 72px; 
           } 
       </style> 

       <!-- thumbnail navigator container --> 
       <div u="thumbnavigator" class="jssort01" style="position: relative; margin: 0 auto; left:0px; bottom: 0px;"> 
        <!-- Thumbnail Item Skin Begin --> 
        <div u="slides" style="cursor: default;"> 
         <div u="prototype" class="p"> 
          <div class=w><div u="thumbnailtemplate" class="t"></div></div> 
          <div class=c></div> 
         </div> 
        </div> 
        <!-- Thumbnail Item Skin End --> 
       </div> 
       <!--#endregion Thumbnail Navigator Skin End --> 
      </div> 
     </div> 
     <a style="display: none" href="http://www.jssor.com">Carousel jQuery</a> 
    </div> 
</body> 
</html> 

回答

0

對於有類似問題的人,我已經結束了在切換到LightGallery這是以這種方式顯示圖像的更好的實現。 Jssor對於橫幅很棒,但我發現另一個更好地用於畫廊目的。