Slider Pro是一个专业的JavaScript插件,允许您在响应和触摸兼容的滑块中显示一组混合内容。
1.在文档中加载jQuery Slider Pro插件的样式表和脚本。
<!-- jQuery Version --> <link rel="stylesheet" href="./dist/css/slider-pro.min.css" /> <script src="http://code.jquery.com/jquery.min.js"></script> <script src="/dist/js/jquery.sliderPro.min.js"></script> <!-- Vanilla JavaScript --> <link rel="stylesheet" href="./build/slider-pro.css" /> <script src="./build/slider-pro.js"></script>
2.基本的标记结构。
<div id="demo" class="slider-pro"> <div class="sp-slides"> <div class="sp-slide"> <img class="sp-image" src="1.jpg"> </div> <div class="sp-slide"> <img class="sp-image" src="2.jpg"> </div> <div class="sp-slide"> <img class="sp-image" src="3.jpg"> <h3 class="sp-layer">Text layer</h3> <p class="sp-layer">Text layer</p> </div> </div> </div>
3.通过调用父元素上的函数来初始化滑块。
// jQuery Version $('#demo').sliderPro({ // options here }); // Vanilla JavaScript const slider = new SliderPro('#demo', { // options here });
4.自定义滑块的所有默认选项。
// Width of the slide width: 500, // Height of the slide height: 300, // Indicates if the slider is responsive responsive: true, // The aspect ratio of the slider (width/height) aspectRatio: -1, // The scale mode for images (cover, contain, exact and none) imageScaleMode: 'cover', // Indicates if the image will be centered centerImage: true, // Indicates if the image can be scaled up more than its original size allowScaleUp: true, // Indicates if height of the slider will be adjusted to the // height of the selected slide autoHeight: false, // Will maintain all the slides at the same height, but will allow the width of the slides to be variable if the orientation of the slides is horizontal and vice-versa if the orientation is vertical. autoSlideSize: false, // Indicates the initially selected slide startSlide: 0, // Indicates if the slides will be shuffled shuffle: false, // Indicates whether the slides will be arranged horizontally // or vertically. Can be set to 'horizontal' or 'vertical'. orientation: 'horizontal', // Indicates if the size of the slider will be forced to 'fullWidth' or 'fullWindow' forceSize: 'none', // Indicates if the slider will be loopable loop: true, // The distance between slides slideDistance: 10, // The duration of the slide animation slideAnimationDuration: 700, // The duration of the height animation heightAnimationDuration: 700, // Sets the size of the visible area, allowing the increase of it in order // to make more slides visible. // By default, only the selected slide will be visible. visibleSize: 'auto', // Breakpoints for allowing the slider's options to be changed // based on the size of the window. breakpoints: null, // Indicates whether the selected slide will be in the center of the slider, when there are more slides visible at a time. // If set to false, the selected slide will be in the left side of the slider. centerSelectedSlide: true, // Indicates if the direction of the slider will be from right to left, instead of the default left to right. rightToLeft: false, // Indicates if fade will be used. fade: 'false', // Indicates if the previous slide will be faded out (in addition to the next slide being faded in). fadeOutPreviousSlide: true, // Sets the duration of the fade effect. fadeDuration: 500, // Indicates whether or not autoplay will be enabled. autoplay: true, // Sets the delay/interval (in milliseconds) at which the autoplay will run. autoplayDelay: 5000, // Indicates whether autoplay will navigate to the next slide or previous slide. // 'normal' and 'backwards' autoplayDirection: 'normal', // Indicates if the autoplay will be paused or stopped when the slider is hovered. // 'pause', 'stop' and 'none' autoplayOnHover: 'pause', // Indicates whether the arrow buttons will be created. arrows: false, // Indicates whether the arrows will fade in only on hover. fadeArrows: true, // Indicates whether the buttons will be created. buttons: true, // Indicates whether keyboard navigation will be enabled. keyboard: true, // Indicates whether the slider will respond to keyboard input only when the slider is in focus. keyboardOnlyOnFocus: false, // Indicates whether the touch swipe will be enabled for slides. touchSwipe: true, // Sets the minimum amount that the slides should move. touchSwipeThreshold: 50, // Indicates whether or not the captions will be faded. fadeCaption: true, // Sets the duration of the fade animation. captionFadeDuration: 500, // Indicates whether the full-screen button is enabled. fullScreen: false, // Indicates whether the button will fade in only on hover. fadeFullScreen: true, // Indicates whether the slider will wait for the layers to disappear before going to a new slide. waitForLayers: false, // Indicates whether the layers will be scaled automatically. autoScaleLayers: true, // Sets a reference width which will be compared to the current slider width in order to determine how much the layers need to scale down. // By default, the reference width will be equal to the slide width. // However, if the slide width is set to a percentage value, then it's necessary to set a specific value for 'autoScaleReference'. autoScaleReference: -1, // If the slider size is below this size, the small version of the images will be used. smallSize: 480, // If the slider size is below this size, the medium version of the images will be used. mediumSize: 768, // If the slider size is below this size, the large version of the images will be used. largeSize: 1024, // Indicates whether the hash will be updated when a new slide is selected. updateHash: false, // Sets the action that the video will perform when its slide container is selected. // 'playVideo' and 'none' reachVideoAction: 'none', // Sets the action that the video will perform when another slide is selected. // 'stopVideo', 'pauseVideo', 'removeVideo' and 'none' leaveVideoAction: 'pauseVideo', // Sets the action that the slider will perform when the video starts playing // 'stopAutoplay' and 'none' playVideoAction: 'stopAutoplay', // Sets the action that the slider will perform when the video is paused. 'startAutoplay' and 'none' pauseVideoAction: 'none' // Sets the action that the slider will perform when the video ends. // 'startAutoplay', 'nextSlide', 'replayVideo' and 'none' endVideoAction: 'none', // Sets the width of the thumbnail. thumbnailWidth: 100, // Sets the height of the thumbnail. thumbnailHeight: 80, // 'top', 'bottom', 'right' and 'left' thumbnailsPosition: 'bottom', // Indicates if a pointer will be displayed for the selected thumbnail thumbnailPointer: false, // Indicates whether the thumbnail arrows will be enabled thumbnailArrows: false, // Indicates whether the thumbnail arrows will be faded fadeThumbnailArrows: true, // Indicates whether the touch swipe will be enabled for thumbnails thumbnailTouchSwipe: true, // Called when the slider is initialized init: function() {}, // Called when the slider is updates update: function() {}, // Called when the slider is resized sliderResize: function() {}, // Called when a new slide is selected gotoSlide: function() {}, // Called when the navigation to the newly selected slide is complete gotoSlideComplete: function() {}, // Called when a breakpoint is reached breakpointReach: function() {}, // Called when a video starts playing videoPlay: function() {}, // Called when a video is paused videoPause: function() {}, // Called when a video ends. videoEnd: function() {}, // Called when all animated layers become visible showLayersComplete: function() {}, // Called when all animated layers become invisible hideLayersComplete: function() {}, // Called when the thumbnails are updated thumbnailsUpdate: function() {}, // Called when a new thumbnail is selected gotoThumbnail: function() {}, // Called when the thumbnail scroller has moved thumbnailsMoveComplete: function() {},
5.公开方法。
// Scrolls to the slide at the specified index. gotoSlide( index ) // Scrolls to the next slide. nextSlide() // Scrolls to the previous slide. previousSlide() // Gets all the data of the slide at the specified index. // Returns an object that contains all the data specified for that slide. getSlideAt( index ) // Gets the index of the selected slide. getSelectedSlide() // This is called by the plugin automatically when a property is changed. // You can call this manually in order to refresh the slider after changing its HTML markup // (i.e., adding or removing slides). update() // This is called by the plugin automatically when the slider changes its size. // You can also call it manually if you find it necessary to have the slider resize itself. resize() // Gets the total number of slides. getTotalSlides() // Adds an event listener to the slider. // More details about the use of this method will be presented in the 'Callbacks' chapter. on( eventType, callback ) // Removes an event listener from the slider. off( eventType ) // Destroys a slider by removing all the visual elements and functionality added by the plugin. // Basically, it leaves the slider in the state it was before the plugin was instantiated. destroy()
6.更多的例子来了解这个很棒的滑块插件。
v1.6.2 (2023-01-19)
v1.6.1 (2022-12-16)
v1.6.0 (2021-06-15)
v1.5.0(2018年10月24日)
v1.3.0 (2016-07-11)
v1.2.5 (2016-07-01)
v1.2.5 (2016-03-03)
v1.2.4(2015年11月13日)
v1.2.3(2015年10月16日)
v1.2.1(2015年3月16日)
v1.2.0(2015年1月30日)
v1.1.0 (2014-12-12)
v1.0.9 (2014-12-07)
v1.0.8 (2014-12-03)
v1.0.7 (2014-12-01)
v1.0.6 (2014-11-22)
v1.0.5 (2014-11-19)
v1.0.3 (2014-11-04)
v1.0.2 (2014-11-03)