8.11.2 通过data-*属性激活轮播图
上面的静态轮播图并不能自动播放,也不能响应用户操作,这是因为该轮播图既没有使用data-*
属性激活,也没有使用JS脚本触发。
使用data-*
属性激活轮播图会涉及不少属性。下面先讲解这些属性的用法。
应用于轮播图容器的属性
可应用于轮播图容器的属性有如下几个。
属性 |
描述 |
data-ride |
该属性用于激活轮播图容器。该属性的值固定为'carousel' 字符串。 |
data-interval |
设置轮播图开始自动轮播时的间隔时间 ,单位为毫秒 ,比如设置为1000,则意味着每隔1秒换一次图片。如果将该属性设置为false ,那么该轮播图将永远不会自动轮播。 |
data-pause |
该属性支持'hover' 字符串或null 值。如果将该属性设置为'hover' (默认值),则鼠标停留在轮播图上时将停止轮播 ,鼠标离开后则立即开始轮播。 |
data-wrap |
该属性指定轮播到最后一张图片时是否自动重新开始。 |
data-keyboard |
该属性设置轮播图是否需要对键盘事件做出响应。 |
应用于轮播图显示器的列表项,控制按钮的属性
可应用于轮播图显示器内的列表项、控制按钮的属性有如下几个。
方法 |
描述 |
data-target 或href |
这两个属性都用于指定它们所控制的轮播图。这两个属性的值支持各种CSS 选择器,通常会使用ID选择器,用于表示轮播图容器。通常链接会使用href 属性,而其他元素则需要使用data-target 属性。 |
data-slide-to |
该属性通常应用于轮播图显示器内的列表项 ,指定单击该列表项时轮播图跳转到第几张图片 。其中0 代表第一张图片。 |
data-slide |
该属性通常应用于轮播图底部的控制按钮 。该属性值支持'prev' 和'next' 两个字符串,其中'prev' 表示显示上一张图片,'next' 表示显示下一张图片。 |
程序示例
下面的示例将会为前一个示例的静态轮播图添加data-*
属性,从而实现真正的动态轮播图。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
| <!DOCTYPE html> <html>
<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1"> <title> 轮播图 </title> <link rel="stylesheet" href="../bootstrap/css/bootstrap.min.css"> <link rel="stylesheet" href="../bootstrap/css/bootstrap-theme.min.css"> <script type="text/javascript" src="../jquery-3.1.1.js"></script> <script type="text/javascript" src="../bootstrap/js/bootstrap.min.js"></script> </head>
<body> <div class="container"> <div id="myCarousel" class="carousel" data-ride="carousel" data-interval="1000" data-pause='hover'> <ul class="carousel-indicators"> <li class="active" data-target="#myCarousel" data-slide-to="0"></li> <li data-target="#myCarousel" data-slide-to="1"></li> <li data-target="#myCarousel" data-slide-to="2"></li> <li data-target="#myCarousel" data-slide-to="3"></li> </ul> <div class="carousel-inner" role="listbox"> <div class="item active"> <img src="images/lijiang.jpg" alt="漓江"> <div class="carousel-caption"> <h4>漓江</h4> <div>漓江风光有山青、水秀、洞奇、石美“四胜”之誉。从桂林至阳朔的83公里漓江河段,集中了桂林山水的精华,令人有“舟行碧波上,人在画中游”之感。</div> </div> </div> <div class="item"> <img src="images/shuangta.jpg" alt="双塔"> <div class="carousel-caption"> <h4>金银双塔</h4> <div>金银双塔白天和夜晚晚会呈现出截然不同的美景,白天让人觉得庄严、肃穆,而当夜幕降临,在灯光的映照下,则给人以亲切温馨的感觉。</div> </div> </div> <div class="item"> <img src="images/qiao.jpg" alt="桥"> </div> <div class="item"> <img src="images/xiangbi.jpg" alt="象鼻山"> </div> </div> <a class="left carousel-control" role="button" data-slide="prev" href="#myCarousel"> <span class="glyphicon glyphicon-chevron-left"></span> </a> <a class="right carousel-control" role="button" data-slide="next" href="#myCarousel"> <span class="glyphicon glyphicon-chevron-right"></span> </a> </div> </div> </body>
</html>
|
在上述程序中:
- 1号代码就是在**轮播图
容器
**上的添加data-*
属性,其中
data-ride="carousel"
属性用于初始化轮播图组件。
data-interval="1000"
指定自动轮播时每隔1秒就会更换一张图片;
data-pause='hover'
指定当鼠标悬停在轮播图上时停止轮播。
- 2号代码是在
轮播图显示器的列表项
上添加data-*
属性,其中
data-slide-to="0"
指定单击该列表项会跳转到哪张图片,
data-target="#myCarousel"
指定该列表项所控制的轮播图。
- 3代码是在轮播图
控制按钮
上添加data-*
属性,其中
data-slide="prev"
控制单击该链接时显示上一张图片,
href="#myCarousel"
指定该列表项所控制的轮播图。
浏览该页面时可看到页面自动轮播的效果,如果将鼠标悬停在轮播图上
,轮播将停止;也可用鼠标单击轮播显示器
或轮播控制按钮
来切换轮播图片的显示。