jQuery幻灯片插件Owl Carousel

时间:2022-05-06 16:30:36

简介

Owl Carousel 是一个强大、实用但小巧的 jQuery 幻灯片插件,它具有一下特点:

  • 兼容所有浏览器
  • 支持响应式
  • 支持 CSS3 过度
  • 支持触摸事件
  • 支持 JSON 及自定义 JSON 格式
  • 支持进度条
  • 支持自定义事件
  • 支持延迟加载
  • 支持自适应高度
  • ……

Owl Carousel 提供了众多的参数、回调函数及自定义事件(具体请往下浏览),所以它几乎可以满足你的所有要求。

兼容

浏览器兼容:兼容所有浏览器,包括 IE6、IE7。

jQuery 兼容:兼容 1.7 及以上版本。

使用方法

1、引入文件

<link href="css/owl.carousel.css" rel="stylesheet">
<link href="css/owl.theme.css" rel="stylesheet">
<script src="js/jquery.min.js"></script>
<script src="js/owl.carousel.js"></script>

2、HTML

<div id="owl-demo" class="owl-carousel">
    <div>1</div>
    <div>2</div>
    <div>3</div>
    <div>4</div>
    <div>5</div>
    <div>6</div>
    <div>7</div>
    <div>8</div>
</div>

3、JavaScript

$(function(){
    $('#owl-example').owlCarousel();
});

参数

参数 类型 默认值 说明
items 整数 5 幻灯片每页可见个数
itemsDesktop 数组 [1199,4] 设置浏览器宽度和幻灯片可见个数,格式为[X,Y],X 为浏览器宽度,Y 为可见个数,如[1199,4]就是如果浏览器宽度小于1199,每页显示 4 张,此参数主要用于响应式设计。也可以使用 false
itemsDesktopSmall 数组 [979,3] 同上
itemsTablet 数组 [768,2] 同上
itemsTabletSmall 数组 false 同上,默认为 false
itemsMobile 数组 [479,1] 同上
itemsCustom 数组 false  
singleItem 布尔值 false 是否只显示一张
itemsScaleUp 布尔值 false  
slideSpeed 整数 200 幻灯片切换速度,以毫秒为单位
paginationSpeed 整数 800 分页切换速度,以毫秒为单位
rewindSpeed 整数 1000 重回速度,以毫秒为单位
autoPlay 布尔值/整数 false 自动播放,可选布尔值或整数,若使用整数,如 3000,表示 3 秒切换一次;若设置为 true,默认 5 秒切换一次
stopOnHover 布尔值 false 鼠标悬停停止自动播放
navigation 布尔值 false 显示“上一个”、“下一个”
navigationText 数组 [“prev”,”next”] 设置“上一个”、“下一个”文字,默认是[“prev”,”next”]
rewindNav 布尔值 true 滑动到第一个
scrollPerPage 布尔值 false 每页滚动而不是每个项目滚动
pagination 布尔值 true 显示分页
paginationNumbers 布尔值 false 分页按钮显示数字
responsive 布尔值 true  
responsiveRefreshRate 整数 200 每 200 毫秒检测窗口宽度并做相应的调整,主要用于响应式
responsiveBaseWidth jQuery 选择器 window  
baseClass 字符串 owl-carousel 添加 CSS,如果不需要,最好不要使用
theme 字符串 owl-theme 主题样式,可以自行添加以符合你的要求
lazyLoad 布尔值 false 延迟加载
lazyFollow 布尔值 true 当使用分页时,如果跨页浏览,将不加载跳过页面的图片,只加载所要显示页面的图片,如果设置为 false,则会加载跳过页面的图片。这是 lazyLoad 的子选项
lazyEffect 布尔值/字符串 fade 延迟加载图片的显示效果,默认以 400 毫秒淡入,若为 false 则不使用效果
autoHeight 布尔值 false 自动使用高度
jsonPath 字符串 false JSON 文件路径
jsonSuccess 函数 false 处理自定义 JSON 格式的函数
dragBeforeAnimFinish 布尔值 true 忽略过度是否完成(只限拖动)
mouseDrag 布尔值 true 关闭/开启鼠标事件
touchDrag 布尔值 true 关闭/开启触摸事件
addClassActive 布尔值 false 给可见的项目加入 “active” 类
transitionStyle 字符串 false 添加 CSS3 过度效果

回调函数

变量 类型 默认值 说明
beforeUpdate 函数 false 响应之后的回调函数
afterUpdate 函数 false 响应之前的回调函数
beforeInit 函数 false 初始化之前的回调函数
afterInit 函数 false 初始化之后的回调函数
beforeMove 函数 false 移动之前的回调函数
afterMove 函数 false 移动之后的回调函数
afterAction 函数 false 初始化之后的回调函数
startDragging 函数 false 拖动的回调函数
afterLazyLoad 函数 false 延迟加载之后的回调函数

自定义事件

事件 说明
owl.prev 到上一个
owl.next 到下一个
owl.play 自动播放,可传递一个参数作为播放速度
owl.stop 停止自动播放
owl.goTo 跳到第几个
owl.jumpTo 不使用动画跳到第几个
自定义JSON

    <div id="owl-demo" class="owl-carousel">
</div> #owl-demo {
width: 900px;
margin-left: auto;
margin-right: auto;
}
#owl-demo .item {
display: block;
margin: 5px;
}
#owl-demo img {
display: block;
width: %;
border: none;
} {
"items" : [
{
"img": "img/owl1.jpg",
"alt" : "Owl Image 1",
"link" : "http://www.dowebok.com/"
},
{
"img": "img/owl2.jpg",
"alt" : "Owl Image 2",
"link" : "http://www.dowebok.com/93.html"
},
{
"img": "img/owl3.jpg",
"alt" : "Owl Image 3",
"link" : "http://www.dowebok.com/92.html"
},
{
"img": "img/owl4.jpg",
"alt" : "Owl Image 4",
"link" : "http://www.dowebok.com/91.html"
},
{
"img": "img/owl5.jpg",
"alt" : "Owl Image 5",
"link" : "http://www.dowebok.com/90.html"
},
{
"img": "img/owl6.jpg",
"alt" : "Owl Image 6",
"link" : "http://www.dowebok.com/89.html"
},
{
"img": "img/owl7.jpg",
"alt" : "Owl Image 7",
"link" : "http://www.dowebok.com/88.html"
},
{
"img": "img/owl8.jpg",
"alt" : "Owl Image 8",
"link" : "http://www.dowebok.com/87.html"
}
]
} $(function(){
$('#owl-demo').owlCarousel({
items: ,
jsonPath: 'json/customData.json',
jsonSuccess: customDataSuccess
}); function customDataSuccess(data){
var content = '';
for(var i in data['items']){
var img = data['items'][i].img;
var alt = data['items'][i].alt;
var link = data['items'][i].link;
content += '<a class="item" href="' +link+ '"><img src="' +img+ '" alt="' +alt+ '">';
}
$('#owl-demo').html(content);
}
});