slidizle – 可完全自定义jQuery幻灯片插件


jQuery.slidizle是一款可完全自定义的响应式jQuery幻灯片插件。该插件只是将一些class类放置到幻灯片的HTML标签中,用户可以通过修改这些class来修改幻灯片的外观。它的特点还有:

跨设备响应式设计

可以通过为每一个slide添加适当的class来控制样式

使用简单

同一个页面可以有多个幻灯片实例

实现简单的CSS3动画

鼠标滑过时可以暂停播放

可以实现无限循环幻灯片

支持键盘和移动触摸事件

可以制作带缩略图的幻灯片导航

可以制作幻灯片播放的进度条效果

使用方法:

或者下载压缩包,在页面中引入jquery和jquery.slidizle.js文件。

<script src="jquery.min.js"></script>
<script src="js/jquery.slidizle.js"></script>

HTML结构:

该幻灯片的基本HTML结构如下:

<div class="my-cool-slider" data-slidizle>
 
    <ul class="my-cool-slider-content" data-slidizle-content>
        <li class="my-cool-slide">
            Hello world
        </li>
        <li class="my-cool-slide">
            Hello world
        </li>
        <li class="my-cool-slide">
            Hello world
        </li>
    </ul>
 
    <ul class="my-cool-navigation" data-slidizle-navigation>
        <!-- automagically filled with some li for your navigation -->
        <!-- can be custom too (cf. sample index.html) -->
    </ul>
 
    <button class="my-cool-next-button" data-slidizle-next>Next</button>
    <button class="my-cool-previous-button" data-slidizle-next>Previous</button>
 
</div>

初始化插件:

你可以通过jQuery来调用该幻灯片插件:

jQuery(function($) {
 
    // init slidizle on all data-overlizle elements
    var $sliders = $('[data-slidizle]').slidizle();
 
    // you can pass options directly at instanciation like this
    var $sliders = $('[data-slidizle]').slidizle({
        pauseOnHover : true,
        timeout : 5000
        // etc...
    });
 
// use the api through jquery element
$sliders.filter(':first').slidizle('next');
 
// get the api from element and use it :
var api = $sliders.filter(':first').data('slidizle_api');
api.next();

你也可以使用下面的方法使用javaScript对象的方式来创建幻灯片:

// instanciate slidizle :
var mySlider = new Slidizle($('#mySlider'), {
    timeout : 5000
    // etc...
});
 
// using the api :
mySlider.goto(2); // go to slide with index 2 (mean third slide)
// etc...

基本的class:

slidizle:添加在容器container上的class

slidizle-content:添加在内容容器上的class

slidizle-slide:添加在每一个slide上的class

slidizle-next:添加在next按钮上的class

slidizle-previous:添加在previous按钮上的class

slidizle-navigation:添加在导航容器上的class

状态class:

active:添加在活动slide上的class

loading:添加在当前加载的slide的容器和slide上的class

forward:添加在向前移动的容器上的class

backward:添加在向后移动的容器上的class

disabled:添加在被禁用的next和previous元素上的class

played:当幻灯片进入播放模式时添加在容器上的class

paused:当幻灯片进入暂停模式时添加在容器上的class

stoped:当幻灯片进入停止模式时添加在容器上的class

slide-{index}:添加在容器slide-0, slide-1,...上的class

loaded-slide-{index}:和slide-{index}相同,但是仅在slide被加载后才添加

first:添加到第一个slide上的class

last:添加到最后一个slide上的class

previous:添加到前一个slide上的class

next:添加到下一个slide上的class

before-active:添加到被激活前的那一个slide上的class

after-active::添加到被激活后的那一个slide上的class

配置参数:

classes : {
 
    // class applied on content wrrapper
    content                 : 'slidizle-content',   
 
    // class applied on next navigation element     
    next                    : 'slidizle-next',          
 
    // class applied on previous navigation element
    previous                : 'slidizle-previous',          
 
    // class applied on all slides that are before the active one
    beforeActive            : 'before-active',
 
    // class applied on all slides that are after the active one
    afterActive             : 'after-active',
 
    // class applied on the next active slide
    nextActive              : 'next',
 
    // class applied on the previous active slide
    previousActive          : 'previous',
 
    // class applied on container when the slider is in forward mode
    forward                 : 'forward',
 
    // class applied on container when the slider is in backward mode
    backward                : 'backward',           
 
    // class applied on navigation element
    navigation              : 'slidizle-navigation',            
 
    // class applied on timer element
    timer                   : 'slidizle-timer', // not documented       
 
    // class applied on each slide
    slide                   : 'slidizle-slide',         
 
    // class applied on the next and previous navigation, or the all slider when disabled
    disabled                : 'disabled',               
 
    // the class applied on container when the slider is at his first slide
    first                   : 'first',
 
    // the class applied on container when the slider is at his last slide
    last                    : 'last',
 
    // the play class applied on the container
    play                    : 'played',             
 
    // the pause class applied on the container
    pause                   : 'paused',             
 
    // the stop class applied on the container
    stop                    : 'stoped',             
 
    // an class to access the slider
    slider                  : 'slidizle',               
 
    // the className to add to active navigation, slides, etc...
    active                  : 'active',             
 
    // the className to add to the slider and slides when it is in loading mode
    loading                 : 'loading'            
},                  
 
// the slider interval time between each medias
timeout                 : null,
 
// set if the slider has to make pause on mouse hover
pauseOnHover                : false,                        
 
// set if the slider has to go next on mouse click
nextOnClick                 : false,                        
 
// set if the slider has to go first item when next on last
loop                    : false,                        
 
// set if the slider has to play directly or not if a timeout is specified
autoPlay                : true,                     
 
// activate or not the keyboard
keyboardEnabled             : true,                     
 
// activate or not the touch navigation for mobile (swipe)
touchEnabled                : true,                                         
 
// specify if need to load the next content before the transition
loadBeforeTransition            : true,                         
 
// specify if the slider is disabled or not (can be a function that return true or false)
disabled                : false,
 
// callback when the slider is inited
onInit                  : null,                     
 
// callback when a slide is clicked
onClick                 : null,                     
 
// callback before the slider change from one media to another
beforeChange                : null,
 
// callback when the slider change from one media to another
onChange                : null,                     
 
// callback after the slider change from one media to another
afterChange                 : null,
 
// callback before the slider begin to load the slide
beforeLoading               : null,
 
// callback during the loading progress
onLoading               : null,
 
// callback after the slider has loaded the next slide (before the actual change)
afterLoading                : null,
 
// callback when the slider change for the next slide
onNext                  : null,                     
 
// callback when the slider change for the previous slide
onPrevious              : null,                     
 
// callback when the slider change his state to play
onPlay                  : null,                     
 
// callback when the slider change his state to pause
onPause             : null,                     
 
// callback when the slider resume after a pause
onResume                : null

所有的参数都可以在DOM元素中使用下面的模式来进行设置:

data-overlizle-{option-separated-with-dash}="{value}"

例如:

<div data-slidizle 
     data-slidizle-pause-on-hover="true"
     data-slidizle-classes-loading="myLoadingClass">
  <!-- slider content here... -->
</div>

属性:

Slidizle提供了一下一些直接在DOM元素上使用的data属性。

data-slidizle-content:应用在包含幻灯片的容器上

data-slidizle-navigation:应用在幻灯片的导航容器上

data-slidizle-next :应用在触发导航到下一个幻灯片的元素上

data-slidizle-previous :应用在触发导航到前一个幻灯片的元素上

data-slidizle-slide-id="..." :将幻灯片和一个导航元素项关联

data-slidizle-timeout="...":应用在幻灯片上用于指定切换的时间间隔

事件:

Slidizle有下面一些可有的事件。

slidizle.init :在幻灯片初始化后触发

slidizle.beforeChange:在幻灯片开始切换前触发

slidizle.change:在幻灯片切换到另一个slide时触发

slidizle.afterChange:在幻灯片切换到另一个slide后触发

sliditle.beforeLoading:在幻灯片开始加载下一个slide时触发

sliditle.onLoading:在幻灯片加载下一个slide的过程中触发

sliditle.afterLoading:在幻灯片开始加载下一个slide后触发

slidizle.next:当切换到下一个slide时触发

slidizle.previous:当切换到前一个slide时触发

slidizle.play:在幻灯片进入自动播放模式时触发

slidizle.pause :在幻灯片暂停播放时触发

slidizle.resume:在幻灯片恢复播放时触发

slidizle.stop:在幻灯片停止播放时触发

slidizle.click:当点击某一个slide时触发

方法API:

Slidizle提供了下面的一些公开的方法。

next():跳转到下一个slide

previous():跳转到前一个slide

goto(id):跳转到指定id的slide

gotoAndPlay(id):跳转到指定id的slide并开始播放

gotoAndStop(id):跳转到指定id的slide并停止播放

play():开始播放幻灯片。该方法必须设置timeout时间

pause():暂停播放幻灯片

stop():停止播放幻灯片

togglePlayPause():在暂停和播放之间切换

getCurrentSlide():返回当前的slide

getNextSlide():返回下一个slide

getPreviousSlide():返回前一个slide

getPreviousActiveSlide():返回前一个激活的slide

getAllSlides():返回所有的slide

getLoadingProgress():返回到下一个slide的加载进度

getRemainingTimeout():返回到下一个幻灯片的超时时间

getCurrentTimeout():返回当前激活的slide的超时时间

getTotalTimeout():返回某个slide的总超时时间

isLast():如果是最后一个slide返回true

isFirst():如果是第一个slide返回true

isLoop():如果是循环模式返回true

isPlay():如果是自动播放模式返回true

isDisabled():如果slider被禁用返回true

isPause():如果是暂停模式返回true

isStop():如果是停止播放模式返回true

isHover():如果鼠标滑过幻灯片返回true

getSettings:返回幻灯片的设置对象
https://github.com/olivierbossel/slidizle

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值