8.11.3 通过JS触发轮播图
Bootstrap
同样支持使用JS来触发轮播图。Bootstrap
为轮播图提供了一个carousel()
方法,该方法有如下几个用法。
- 不传入参数:默认情况下,轮播插件下载完成后会自动解析
data-*
属性激活轮播图。如果在轮播图容器上没有指定data-ride
属性,则需要调用该方法。
- 传入JS对象:JS对象支持
interval
、pause
、wrap
、keyboard
这些选项,这些选项与应用于轮播图容器上的data-*
属性的意义相同。
- 传入字符串参数或数字参数。对于传入
字符串参数的情形
,Bootstrap
可支持传入如下参数。
'cycle'
:让轮播图从左到右开始轮播。
'pause'
:让轮播图停止。
- 整数:让轮播图跳转到特定的图片。
'prev'
:让轮播图跳转到上一张图片。
'next'
:让轮播图跳转到下一张图片。
程序示例
下面代码示范了通过JS代码来实现动态轮播图。
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
| <!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"> <button class="btn btn-primary" onclick="$('#myCarousel').carousel('cycle');"> 开启自动播放</button> <button class="btn btn-danger" onclick="$('#myCarousel').carousel('pause');"> 停止自动播放</button> <div id="myCarousel" class="carousel"> <ul class="carousel-indicators"> <li class="active" onclick="$('#myCarousel').carousel(0);"></li> <li onclick="$('#myCarousel').carousel(1);"></li> <li onclick="$('#myCarousel').carousel(2);"></li> <li onclick="$('#myCarousel').carousel(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" onclick="$('#myCarousel').carousel('prev');"> <span class="glyphicon glyphicon-chevron-left"></span> </a> <a class="right carousel-control" role="button" onclick="$('#myCarousel').carousel('next');"> <span class="glyphicon glyphicon-chevron-right"></span> </a> </div> </div> </body>
</html>
|
这里没有为轮播图设置data-*
属性来激活轮播图,因此需要通过JS代码激活轮播图。通过JS代码来激活轮播图主要通过为carousel()
方法传入不同参数来实现:
- 调用
carousel('cycle')
可以控制轮播图从左到右开始轮播。
- 调用
carousel('pause')
可以控制轮播图停止轮播。
- 调用
carousel(0)
可以控制轮播图跳转到第一张图片。
- 调用
carousel('prev')
可以控制轮播图跳转到上一张图片。
- 调用
carousel('next')
控制轮播图跳转到下一张图片。