Slick是一个功能丰富的jQuery滑块插件,用于创建高度可定制、完全响应和移动友好的转盘/滑块,可与任何html元素一起使用。
1.在网页的标题部分包含核心和主题CSS。
<link rel="stylesheet" href="/path/to/slick.css"> <link rel="stylesheet" href="/path/to/slick-theme.css">
2.将要滑动的Html内容包裹在DIV元素中。
<div class="slider demo"> <div> Slide 1 </div> <div> Slide 2 </div> <div> Slide 3 </div> ... </div>
3.在页面底部包含最新版本的jQuery库和slick.js。
<script src="/path/to/jquery.min.js"></script> <script src="/path/to/slick.js"></script>
4.调用您刚刚创建的旋转木马包装器上的插件。
$(document).ready(function(){
$('.demo').slick();
});5.可用于自定义转盘的选项。
$('.demo').slick({
// Enables tabbing and arrow key navigation
accessibility: true,
// Adapts slider height to the current slide
adaptiveHeight: false,
// Change where the navigation arrows are attached (Selector, htmlString, Array, Element, jQuery object)
appendArrows: $(element),
// Change where the navigation dots are attached (Selector, htmlString, Array, Element, jQuery object)
appendDots: $(element),
// Enable Next/Prev arrows
arrows: true,
// Sets the slider to be the navigation of other slider (Class or ID Name)
asNavFor: null,
// prev arrow
prevArrow: '<button type="button" data-role="none" class="slick-prev">Previous</button>',
// next arrow
nextArrow: '<button type="button" data-role="none" class="slick-next">Next</button>',
// Enables auto play of slides
autoplay: false,
// Auto play change interval
autoplaySpeed: 3000,
// Enables centered view with partial prev/next slides.
// Use with odd numbered slidesToShow counts.
centerMode: false,
// Side padding when in center mode. (px or %)
centerPadding: '50px',
// CSS3 easing
cssEase: 'ease',
// Custom paging templates.
customPaging: function(slider, i) {
return '<button type="button" data-role="none">' + (i + 1) + '</button>';
},
// Current slide indicator dots
dots: false,
// Class for slide indicator dots container
dotsClass: 'slick-dots',
// Enables desktop dragging
draggable: true,
// animate() fallback easing
easing: 'linear',
// Resistance when swiping edges of non-infinite carousels
edgeFriction: 0.35,
// Enables fade
fade: false,
// Focus on select and/or change
focusOnSelect: false,
focusOnChange: false,
// Infinite looping
infinite: true,
// Initial slide
initialSlide: 0,
// Accepts 'ondemand' or 'progressive' for lazy load technique
lazyLoad: 'ondemand',
// Mobile first
mobileFirst: false,
// Pauses autoplay on hover
pauseOnHover: true,
// Pauses autoplay on focus
pauseOnFocus: true,
// Pauses autoplay when a dot is hovered
pauseOnDotsHover: false,
// Target containet to respond to
respondTo: 'window',
// Breakpoint triggered settings
/* eg
responsive: [{
breakpoint: 1024,
settings: {
slidesToShow: 3,
infinite: true
}
}, {
breakpoint: 600,
settings: {
slidesToShow: 2,
dots: true
}
}, {
breakpoint: 300,
settings: "unslick" // destroys slick
}]
*/
responsive: null,
// Setting this to more than 1 initializes grid mode.
// Use slidesPerRow to set how many slides should be in each row.
rows: 1,
// Change the slider's direction to become right-to-left
rtl: false,
// Slide element query
slide: '',
// # of slides to show at a time
slidesToShow: 1,
// With grid mode intialized via the rows option, this sets how many slides are in each grid row.
slidesPerRow: 1,
// # of slides to scroll at a time
slidesToScroll: 1,
// Transition speed
speed: 500,
// Enables touch swipe
swipe: true,
// Swipe to slide irrespective of slidesToScroll
swipeToSlide: false,
// Enables slide moving with touch
touchMove: true,
// To advance slides, the user must swipe a length of (1/touchThreshold) * the width of the slider.
touchThreshold: 5,
// Enable/Disable CSS Transitions
useCSS: true,
// Enable/Disable CSS Transforms
useTransform: true,
// Disables automatic slide width calculation
variableWidth: false,
// Vertical slide direction
vertical: false,
// hanges swipe direction to vertical
verticalSwiping: false,
// Ignores requests to advance the slide while animating
waitForAnimate: true,
// Set the zIndex values for slides, useful for IE9 and lower
zIndex: 1000
});5.API方法。
// destroys the plugin
$('.demo').unslick();
// Triggers next slide
$('.demo').slickNext();
// Triggers previous slide
$('.demo').slickPrev();
// Pauses Autoplay
$('.demo').slickPause();
// Starts Autoplay
$('.demo').slickPlay();
// Goes to slide by index, skipping animation if second parameter is set to true
$('.demo').slickGoTo(index,dontAnimate);
// Returns the current slide index
$('.demo').slickCurrentSlide();
// Adds a slide. If an index is provided, will add at that index, or before if addBefore is set.
// If no index is provided, add to the end or to the beginning if addBefore is set.
// Accepts HTML String
$('.demo').slickAdd(element,index,addBefore);
// Removes slide by index. If removeBefore is set true, remove slide preceding index, or the first slide if no index is specified.
// If removeBefore is set to false, remove the slide following index, or the last slide if no index is set.
$('.demo').slickRemove(index,removeBefore);
// Filters slides using jQuery .filter syntax
$('.demo').slickFilter(filter);
// Removes applied filter
$('.demo').slickUnfilter();
// Gets an option value.
$('.demo').slickGetOption(option);
// Changes a single option to given value; refresh is optional.
$('.demo').slickSetOption(option,value,refresh);
// Gets Slick Object
$('.demo').getSlick();
6.事件处理程序。
// Before slide change callback
$('.demo').on('afterChange', function(event, slick, currentSlide){
// do something
});
// Before slide change callback
$('.demo').on('beforeChange', function(event, slick, currentSlide, nextSlide){
// do something
});
// Fires after a breakpoint is hit
$('.demo').on('breakpoint', function(event, slick, breakpoint){
// do something
});
// When slider is destroyed, or unslicked.
$('.demo').on('destroy', function(event, slick){
// do something
});
// Fires when an edge is overscrolled in non-infinite mode.
$('.demo').on('edge', function(event, slick, direction){
// do something
});
// When Slick initializes for the first time callback.
// Note that this event should be defined before initializing the slider.
$('.demo').on('init', function(event, slick){
// do something
});
// Every time Slick (re-)initializes callback
$('.demo').on('reInit', function(event, slick){
// do something
});
// Every time Slick recalculates position
$('.demo').on('setPosition', function(event, slick){
// do something
});
// Fires after swipe/drag
$('.demo').on('swipe', function(event, slick, direction){
// do something
});
// Fires after image loads lazily
$('.demo').on('lazyLoaded', function(event, slick, image, imageSource){
// do something
});
// Fires after image fails to load
$('.demo').on('lazyLoadError', function(event, slick, image, imageSource){
// do something
});
2022-11-22
v1.9.0(2018年4月19日)
v1.5.9 (2016-02-05)
v1.4.0(2015年1月26日)
v1.3.3 (2014-04-09)
v1.3.2 (2014-04-03)
v1.2.8 (2014-03-31)
v1.2.7 (2014-03-30)
v1.2.4 (2014-03-29)
v1.2.1 (2014-03-28)
Â