PgwSlideshow是一款非常实用的响应式、支持触摸屏的jQuery轮播图插件。该轮播图插件带有缩略图预览效果,可以根据容器的大小自适应图片的宽度。你也可以自定义轮播图的高度,图片宽度会根据高度等比例匹配。该轮播图插件的特点有:
该轮播图插件依赖于jQuery(1.0以上版本)或Zepto(1.0以上版本)。使用前要移入这些依赖文件。
<link rel="stylesheet" href="/path/to/pgwslideshow.css"> <script src="jquery/1.11.0/jquery.min.js"></script> <script src="/path/to/pgwslideshow.js"></script>
该轮播图插件的基本HTML结构使用的是无序列表<ul>
。你可以添加多个<li>
元素,每一个<li>
元素中包含一张用于轮播的图片。
<ul class="pgwSlideshow"> <li><img src="img/1.jpg" alt="..." data-description="..."></li> <li><img src="img/thumb.jpg" alt="" data-large-src="img/big-img.jpg"></li> <li> <a href="#" target="_blank"> <img src="img/3.jpg" alt="..."> </a> </li> ...... </ul>
data-large-src
属性来指定大尺寸图片的URL。另外,如果你希望某张图片链接到特定的URL,可以使用<a>
标签来包裹图片,每张图片都可以单独设置它的对应链接地址。
$(document).ready(function() { $('.pgwSlideshow').pgwSlideshow(); });
下面是该轮播图插件的一些可用的参数。
参数 | 类型 | 默认值 | 描述 |
mainClassName | String | 'pgwSlideshow' | 该参数会覆盖轮播图默认的CSS class名称。 |
transitionEffect | String | 'sliding' | 有两个可用的过渡效果:"sliding" 和 "fading" |
autoSlide | Boolean | false | 是否允许轮播图自动轮播 |
beforeSlide | Function | false | 在轮播图每次切换时的回调函数。eg:"function(id) { console.log('Before sliding - The current slide is ' + id); }" |
afterSlide | Function | false | 在轮播图每次切换之后的回调函数。eg:"function(id) { console.log('After sliding - The current slide is ' + id); }" |
displayList | Boolean | true | 是否以列表的形式显示缩略图 |
displayControls | Boolean | true | 是否显示前后箭头导航按钮 |
touchControls | Boolean | true | 是否绑定移动触摸事件 |
maxHeight | Integer | null | 为轮播图设置固定的高度。不用带"px"单位 |
adaptiveDuration | Integer | 200 | This duration is the period in milliseconds, during the adjustment of the previous option runs (if it is activated). |
transitionDuration | Integer | 500 | 图片切换的时间,单位毫秒 |
intervalDuration | Integer | 3000 | 显示下一张图片之前的间隔时间,该参数需要autoSlide 为true |
下面是该轮播图插件的一些可用方法。
要使用这些方法,必须在轮播图插件初始化时将它保存为一个对象变量。
var pgwSlideshow = $('.pgwSlideshow').pgwSlideshow();
pgwSlideshow.startSlide();
pgwSlideshow.stopSlide();
pgwSlideshow.getCurrentSlide();
pgwSlideshow.getSlideCount();
pgwSlideshow.displaySlide(3);
pgwSlideshow.nextSlide();
pgwSlideshow.previousSlide();
true
,那么容器将只是被隐藏起来。
pgwSlideshow.destroy();
pgwSlideshow.reload({ transitionEffect : 'fading', adaptiveDuration : 4000 });