Bootstrap 3 轮播插件 ( Carousel )

Bootstrap 3 内置了 轮播 ( Carousel) 插件 用于给站点自动轮播动画

Bootstrap .carousel.slide CSS 类可以用来生成一个轮播动画

下面的范例是一个简单的幻灯片,使用 Bootstrap 轮播 (carousel) 插件显示了一个循环播放元素的通用组件

<div id="myCarousel" class="carousel slide">
    <!-- 轮播 ( carousel) 指标 -->
    <ol class="carousel-indicators">
        <li data-target="#myCarousel" data-slide-to="0" class="active"></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>
        <li data-target="#myCarousel" data-slide-to="4"></li>
        <li data-target="#myCarousel" data-slide-to="5"></li>
    </ol>   
    <!-- 轮播 ( carousel ) 项目 -->
    <div class="carousel-inner">
        <div class="item active">
            <img src="/static/i/img1.jpg">
        </div>
        <div class="item">
            <img src="/static/i/img2.jpg">
        </div>
        <div class="item">
            <img src="/static/i/img3.jpg">
        </div>
        <div class="item">
            <img src="/static/i/img4.jpg">
        </div>
        <div class="item">
            <img src="/static/i/img5.jpg">
        </div>
        <div class="item">
            <img src="/static/i/img6.jpg">
        </div>
    </div>
    <!-- 轮播( Carousel ) 导航 -->
    <a class="carousel-control left" href="#myCarousel" 
        data-slide="prev">&lsaquo;
    </a>
    <a class="carousel-control right" href="#myCarousel" 
        data-slide="next">&rsaquo;
    </a>
</div>

运行范例 »

运行以上范例,输出结果如下

简单的轮播( Carousel ) 插件

可选的标题

我们可以通过 .item 内的 .carousel-caption 元素向幻灯片添加标题

标题可以是任何可选的 HTML 即可,它会自动对齐并格式化

<div id="myCarousel" class="carousel slide">
    <!-- 轮播 ( carousel) 指标 -->
    <ol class="carousel-indicators">
        <li data-target="#myCarousel" data-slide-to="0" class="active"></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>
        <li data-target="#myCarousel" data-slide-to="4"></li>
        <li data-target="#myCarousel" data-slide-to="5"></li>
    </ol>   
    <!-- 轮播 ( carousel ) 项目 -->
    <div class="carousel-inner">
        <div class="item active">
            <img src="/static/i/img1.jpg">
            <div class="carousel-caption">图片说明 1</div>
        </div>
        <div class="item">
            <img src="/static/i/img2.jpg">
            <div class="carousel-caption">图片说明 2</div>
        </div>
        <div class="item">
            <img src="/static/i/img3.jpg">
            <div class="carousel-caption">图片说明 3</div>
        </div>
        <div class="item">
            <img src="/static/i/img4.jpg">
            <div class="carousel-caption">图片说明 4</div>
        </div>
        <div class="item">
            <img src="/static/i/img5.jpg">
            <div class="carousel-caption">图片说明 5</div>
        </div>
        <div class="item">
            <img src="/static/i/img6.jpg">
            <div class="carousel-caption">图片说明 6</div>
        </div>
    </div>
    <!-- 轮播( Carousel ) 导航 -->
    <a class="carousel-control left" href="#myCarousel" 
        data-slide="prev">&lsaquo;
    </a>
    <a class="carousel-control right" href="#myCarousel" 
        data-slide="next">&rsaquo;
    </a>
</div>

运行范例 »

运行以上范例,输出结果如下

轮播( Carousel ) 插件的标题

使用方法介绍

  1. 通过 data 属性

    使用 data 属性可以很容易控制轮播( Carousel ) 的位置

    • 属性 data-slide 接受关键字 prevnext ,用来改变幻灯片相对于当前位置的位置

    • 属性 data-slide-to 用来来向轮播传递一个原始滑动索引, data-slide-to="2" 将把滑块移动到一个特定的索引,索引从 0 开始计数

    • 属性 data-ride="carousel" 用于标记轮播在页面加载时就开始动画播放

  2. 通过 JavaScript

    轮播 ( carousel ) 可通过 JavaScript 手动调用

    $('.carousel').carousel()
    

选项

下表列出了轮播插件可以通过 data 属性或 JavaScript 来传递的的属性

选项 类型 属性 描述/默认值
interval number data-interval 自动循环每个项目之间延迟的时间量
如果为 false,轮播将不会自动循环
默认值:5000
pause string data-pause 鼠标进入时暂停轮播循环
鼠标离开时恢复轮播循环
默认值:"hover"
wrap boolean data-wrap 轮播是否连续循环
默认值:true

方法

下表列出了轮播插件中可以使用的方法

方法 描述 范例
.carousel(options) 使用 options 初始化轮播
并开始循环项目
$('#id').carousel({
    interval: 2000
})
.carousel('cycle') 从左到右循环轮播项目 $('#id').carousel('cycle')
.carousel('pause') 停止轮播循环项目 $('#id').carousel('pause')
.carousel(number) 循环轮播到某个特定的帧
从 0 开始计数,与数组类似
$('#id').carousel(number)
.carousel('prev') 循环轮播到上一个项目 $('#id').carousel('prev')
.carousel('next') 循环轮播到下一个项目 $('#id').carousel('next')

下面的范例演示了轮播插件方法的使用

<div id="myCarousel" class="carousel slide">
    <!-- 轮播 ( carousel) 指标 -->
    <ol class="carousel-indicators">
        <li data-target="#myCarousel" data-slide-to="0" class="active"></li>
        <li data-target="#myCarousel" data-slide-to="1"></li>
        <li data-target="#myCarousel" data-slide-to="2"></li>
    </ol>   
    <!-- 轮播 ( carousel ) 项目 -->
    <div class="carousel-inner">
        <div class="item active">
            <img src="/static/i/img1.jpg">
            <div class="carousel-caption">图片说明 1</div>
        </div>
        <div class="item">
            <img src="/static/i/img2.jpg">
            <div class="carousel-caption">图片说明 2</div>
        </div>
        <div class="item">
            <img src="/static/i/img3.jpg">
            <div class="carousel-caption">图片说明 3</div>
        </div>
    </div>
    <!-- 轮播( Carousel ) 导航 -->
    <a class="carousel-control left" href="#myCarousel" 
        data-slide="prev">&lsaquo;</a>
    <a class="carousel-control right" href="#myCarousel" 
        data-slide="next">&rsaquo;</a>
    <!-- 控制按钮 -->
    <div style="text-align:center;">
        <input type="button" class="btn start-slide" value="Start">
        <input type="button" class="btn pause-slide" value="Pause">
        <input type="button" class="btn prev-slide" value="Previous Slide">
        <input type="button" class="btn next-slide" value="Next Slide">
        <input type="button" class="btn slide-one" value="Slide 1">
        <input type="button" class="btn slide-two" value="Slide 2">            
        <input type="button" class="btn slide-three" value="Slide 3">
    </div>
</div> 
<script>
$(function(){
    //初始化轮播
    $(".start-slide").click(function(){$("#myCarousel").carousel('cycle');});

    //停止轮播
    $(".pause-slide").click(function(){$("#myCarousel").carousel('pause');});

    //循环轮播到上一个项目
    $(".prev-slide").click(function(){$("#myCarousel").carousel('prev');});

    //循环轮播到下一个项目
    $(".next-slide").click(function(){$("#myCarousel").carousel('next');});

    //循环轮播到某个特定的帧
    $(".slide-one").click(function(){$("#myCarousel").carousel(0);});
    $(".slide-two").click(function(){$("#myCarousel").carousel(1);});
    $(".slide-three").click(function(){$("#myCarousel").carousel(2);});});
</script>

运行范例 »

运行以上范例,输出结果如下

轮播( Carousel ) 插件方法

事件

下表列出了轮播 ( carousel ) 插件可以使用的事件

事件 描述 范例
slide.bs.carousel 当调用 slide 实例方法时立即触发该事件 $('#id').on('slide.bs.carousel', function () {
    // 执行一些动作...
})
slid.bs.carousel 当轮播完成幻灯片过渡效果时触发该事件 $('#id').on('slid.bs.carousel', function () {
    // 执行一些动作...
})

下面的范例演示了轮播插件事件的使用

<div id="myCarousel" class="carousel slide">
    <!-- 轮播 ( carousel) 指标 -->
    <ol class="carousel-indicators">
        <li data-target="#myCarousel" data-slide-to="0" class="active"></li>
        <li data-target="#myCarousel" data-slide-to="1"></li>
        <li data-target="#myCarousel" data-slide-to="2"></li>
    </ol>   
    <!-- 轮播 ( carousel ) 项目 -->
    <div class="carousel-inner">
        <div class="item active">
            <img src="/static/i/img1.jpg">
        </div>
        <div class="item">
            <img src="/static/i/img2.jpg">
        </div>
        <div class="item">
            <img src="/static/i/img3.jpg">
        </div>
    </div>
    <!-- 轮播( Carousel ) 导航 -->
    <a class="carousel-control left" href="#myCarousel" 
        data-slide="prev">&lsaquo;
    </a>
    <a class="carousel-control right" href="#myCarousel" 
        data-slide="next">&rsaquo;
    </a>
</div>
<script>
$(function(){
    $('#myCarousel').on('slide.bs.carousel',function(){
        $("#message").append("<p>" + new Date() + ": 当调用 slide 实例方法时立即触发该事件</p>");
    });
});
</script>

运行范例 »

运行以上范例,输出结果如下

轮播( Carousel ) 插件事件

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.