这是一款效果非常好的支持移动触摸设备的响应式模块化jQuery幻灯片插件。通过这个幻灯片插件你可以制作出漂亮和专业的幻灯片效果。它的特点有:
可以使用bower或npm来安装这个幻灯片插件:
$ npm install slider-pro $ bower install slider-pro
使用时需要在页面中引入必要的文件:
<link rel="stylesheet" href="dist/css/slider-pro.min.css"/> <script src="libs/js/jquery-1.11.0.min.js"></script> <script src="dist/js/jquery.sliderPro.min.js"></script>
该幻灯片的HTML结构采用嵌套结构:slider-pro
> sp-slides
>sp-slide
,这三个层级的class名称的div
是必须的。
<div class="slider-pro" id="my-slider"> <div class="sp-slides"> <!-- Slide 1 --> <div class="sp-slide"> <img class="sp-image" src="path/to/image1.jpg"/> </div> <!-- Slide 2 --> <div class="sp-slide"> <p>Lorem ipsum dolor sit amet</p> </div> <!-- Slide 3 --> <div class="sp-slide"> <h3 class="sp-layer">Lorem ipsum dolor sit amet</h3> <p class="sp-layer">consectetur adipisicing elit</p> </div> </div> </div>
如果你在幻灯片中添加一幅图片,并且希望它能够显示为背景图片,你需要为它添加class sp-image
。
在页面加载完成之后,可以使用下面的方法来初始化该幻灯片插件:
<script type="text/javascript"> jQuery( document ).ready(function( $ ) { $( '#my-slider' ).sliderPro(); }); </script>
该幻灯片插件有50+个可用的配置参数:
true
。使幻灯片具有响应式效果。该属性设置为true
时,即使宽度和高度设置为固定值,幻灯片也具有响应式效果。true
。幻灯片图片是否居中显示。false
。是否自动调整幻灯片的高度为当前幻灯片的高度。false
。设置是否打乱图片顺序。horizontal
。可选值:horizontal
和vertical
。设置幻灯片是水平还是垂直移动。none
。可选择:fullWidth
、fullWindow
和none
。设置幻灯片的尺寸。true
。设置幻灯片是否无限循环。10
。设置幻灯片之间的距离。700
。设置幻灯片的动画持续时间。700
。设置幻灯片高度动画的持续时间。auto
。设置幻灯片的可见区域的尺寸。null
。当页面尺寸改变的时候,设置指定的breakpoints来修改幻灯片的外观和行为。例如:
$( '#my-slider' ).sliderPro({ width: 960, height: 400, orientation: 'horizontal', thumbnailPosition: 'right', breakpoints: { 800: { thumbnailsPosition: 'bottom', thumbnailWidth: 270, thumbnailHeight: 100 }, 500: { orientation: 'vertical', thumbnailsPosition: 'bottom', thumbnailWidth: 120, thumbnailHeight: 50 } } });
false
。是否使用淡入淡出效果。true
。前一个slider是否 faded out。500
。设置幻灯片淡入淡出效果的持续时间。true
。设置幻灯片是否自动播放。5000
。设置幻灯片自动播放的时间间隔,单位毫秒。normal
。可选值:normal
或backwards
。自动播放是导航到下一个slider还是前一个slider。
。pause
。可选值:pause
、none
或stop
。当用鼠标滑过幻灯片时是暂停还是停止播放幻灯片。false
。是否插件幻灯片的箭头导航按钮。true
。是否在鼠标滑过时淡入淡出显示箭头按钮。true
。是否插件圆点导航按钮。true
。是否可以使用键盘来导航。false
。是否只有在幻灯片聚焦的时候才可以使用键盘来导航。true
。设置幻灯片是否支持滑动触摸。50
。设置幻灯片移动的最小数量。true
。幻灯片标题是否淡入淡出显示。500
。设置标题淡入淡出的持续时间。false
。设置“全屏”按钮是否可用。true
。“全屏”按钮是否在鼠标滑过时淡入淡出显示。false
。Indicates whether the slider will wait for the layers to disappear before going to a new slide.true
。设置是否自动缩放层。-1
。设置参考宽度和当前幻灯片的宽度做比较,以确定层需要缩放多少。默认情况下,参考宽度等于幻灯片的宽度。如果设置为百分比值,必须为autoScaleReference
设置一个指定值。480
。如果幻灯片的尺寸小于这个尺寸,小版本的图片将被使用。768
。如果幻灯片的尺寸小于这个尺寸,中等版本的图片将被使用。1024
。如果幻灯片的尺寸小于这个尺寸,大版本的图片将被使用。false
。当一个新耳朵slide被选择的时候是否更新hash值。'none'
。可选值:'playVideo'
和'none'
。设置当幻灯片的内容被选择的时候,是否播放video内容。'pauseVideo'
。可选值:'stopVideo'
、'pauseVideo'
、 'removeVideo'
和'none'
。设置当另外一个幻灯片的内容被选择的时候,是否播放video内容。'stopAutoplay'
。可选值:'stopAutoplay'
和'none'
。设置video开始播放的时候,是否执行幻灯片。none
。可选值:'startAutoplay'
和'none'
。设置video暂停播放的时候,是否执行幻灯片。none
。可选值:'startAutoplay'
、'nextSlide'
、'replayVideo'
和'none'
。设置video停止播放的时候,是否执行幻灯片。100
。设置幻灯片缩略图的宽度。80
。设置幻灯片缩略图的高度。bottom
。可选值:top
、bottom
、right
和left
。设置幻灯片缩略图的位置。false
。Indicates if a pointer will be displayed for the selected thumbnail。false
。设置缩略图的箭头按钮是否可用。true
。缩略图的箭头按钮是否淡入淡出。
。true
。缩略图的箭头按钮是否可以被滑动触摸。该幻灯片插件有两种方式来调用公共方法。
第一种是在幻灯片元素上调用sliderPro
方法,并传入方法的名称和可用参数。
$( '#my-slider' ).sliderPro( 'gotoSlide', 3 );
第一个参数指明方法的名称,第二个参数代表被使用的值。有些方法可以不写的第二个参数:
$( '#my-slider' ).sliderPro( 'nextSlide' );
第二种方法是获取幻灯片的实例对象,在该对象上调用方法。
// get a reference to the SliderPro instance var slider = $( '#my-slider' ).data( 'sliderPro' ); slider.gotoSlide( 2 );
下面是一些可用的公共方法:
回调函数(callbacks)可以在幻灯片初始化时添加或者后面在添加:
$( '#my-slider' ).sliderPro({ width: 900, height: 400, gotoSlide: function( event ) { console.log( event.index ); }, sliderResize: function() { console.log( 'slider is resized' ); } }); $( '#my-slider' ).on( 'gotoSlide', function( event ) { console.log( event.index ); })
回调函数都带有一个event
参数,该参数事件的一些信息。
下面是可用的事件:
update
方法被调用的时候被触发。关于该幻灯片的模块化设计,可以参考:https://github.com/bqworks/slider-pro/blob/master/docs/modules.md#modules