Unslider是一款简单实用的支持移动触摸设备的响应式jQuery幻灯片插件。该幻灯片插件支持所有的现代浏览器,支持键盘导航,支持移动触摸,并且幻灯片图片是响应式的。它的特点有:
- 跨浏览器。该幻灯片插件已经在所有的现代浏览上做了测试,并在旧版本的浏览器上会自动完美的回退。
- 支持键盘控制。你可以添加键盘 控制功能,使用键盘的左右方向键来控制幻灯片。
- 自动设置幻灯片的高度。幻灯片的高度会根据屏幕的大小自动调整。
- 响应式设计。
- 支持touch/swipe等移动触摸事件。
使用方法
首先要引入jQuery和unslider.js文件。
<script type="text/javascript" src="js/jquery.min.js"></script> <script type="text/javascript" src="js/unslider.js"></script>
HTML结构
该幻灯片插件的HTML结构使用一个<div>
包裹一个无序列表即可。无序列表中的每一个<li>
元素是一张幻灯片图片。
<div class="banner"> <ul> <li>This is a slide.</li> <li>This is another slide.</li> <li>This is a final slide.</li> </ul> </div>
CSS样式
你可以为这个幻灯片插件自定义各种CSS样式,但是有一些必须的CSS样式是你一定要添加的,代码如下:
.banner { position: relative; overflow: auto; } .banner li { list-style: none; } .banner ul li { float: left; }
.banner
是你的包裹容器的class名称,可根据实际情况进行更换。
调用插件
在页面加载完毕之后,就可以使用下面的代码来初始化该幻灯片插件。
$(function() { $('.banner').unslider(); });
支持移动触摸设备
如果你需要添加mobile/touch/swipe等移动触摸的支持,只需要在页面中引入jQuery.event.swipe插件即可。
添加前后导航链接
如果你想为这个幻灯片插件添加前后箭头导航按钮,可以像下面这样做:
<!-- The HTML --> <a href="#" class="unslider-arrow prev">Previous slide</a> <a href="#" class="unslider-arrow next">Next slide</a>
<!-- And the JavaScript --> <script> var unslider = $('.banner').unslider(); $('.unslider-arrow').click(function() { var fn = this.className.split(' ')[1]; // Either do unslider.data('unslider').next() or .prev() depending on the className unslider.data('unslider')[fn](); }); </script>
箭头按钮的样式可以通过CSS来自定义。
配置参数
下面是该幻灯片插件的默认参数。
$('.banner').unslider({ speed: 500, // The speed to animate each slide (in milliseconds) delay: 3000, // The delay between slide animations (in milliseconds), false for no autoplay complete: function() {}, // A function that gets called after every slide animation keys: true, // Enable keyboard (left, right) arrow shortcuts dots: true, // Display dot navigation fluid: false // Support responsive design. May break non-responsive designs });
方法
该幻灯片插件有一个非常有用的data
方法,通过它你可以访问和覆盖任何可用的方法。
var slidey = $('.banner').unslider(), data = slidey.data('unslider'); // Start Unslider data.play(); // Pause Unslider data.stop(); // Move to a slide index, with optional callback data.to(2, function() {}); // data.to(0); // Manually enable keyboard shortcuts data.keys(); // Move to the next slide (or the first slide if there isn't one) data.next(); // Move to the previous slide (or the last slide if there isn't one) data.prev(); // Append the navigation dots manually data.dots();