Bootstrap学习笔记之插件(三)

来源:互联网 发布:网络女主播经常唱的 编辑:程序博客网 时间:2024/06/06 14:00
Bootstrap插件一、模态框(Modal)  data-toggle="modal"模态框(Modal)是覆盖在父窗体上的子窗体。通常,目的是显示来自一个单独的源的内容,可以在不离开父窗体的情况下有一些互动。子窗体可提供信息、交互等  <!-- 按钮触发模态框 --><button class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal">    //当用超链接代替button触发时,改data-target为href="#myModal",以识别要加载的模态框目标;data-toggle用以打开modal开始演示模态框</button><!-- 模态框(Modal) --><div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">    //.modal识别为模态框,.fade当切换时会淡入淡出,id与上面的data-target对应,aria-labelledby引用模态框的标题,aria-hidden为true时窗口不可见,直到被触发<div class="modal-dialog"><div class="modal-content"><div class="modal-header">    //.modal-header为头部定义样式<button type="button" class="close" data-dismiss="modal" aria-hidden="true">    //data-dismiss用以关闭模态框×</button><h4 class="modal-title" id="myModalLabel">    //.modal-title指定其为标题模态框(Modal)标题</h4></div><div class="modal-body">    //.modal-body为主体定义样式在这里添加一些文本</div><div class="modal-footer">    //.modal-footer为底部定义样式<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button><button type="button" class="btn btn-primary">提交更改</button></div></div><!-- /.modal-content --></div><!-- /.modal --></div>  选项  data-backdrop    指定一个静态的背景,当用户点击模态框外部时不会关闭模态框。    boolean 或 string 'static'  默认值:true  data-keyboard    当按下 escape 键时关闭模态框,设置为 false 时则按键无效。    boolean  默认值:true  data-show    当初始化时显示模态框。    boolean  默认值:true  data-remote    使用 jQuery .load 方法,为模态框的主体注入内容。如果添加了一个带有有效 URL 的 href,则会加载其中的内容。    path  默认值:false<a data-toggle="modal" href="remote.html" data-target="#modal">请点击我</a>  方法  <script>$(function() {$('#myModal').modal({keyboard: true})});  </script>      $('#identifier').modal({keyboard: false})  $('#identifier').modal('toggle')  $('#identifier').modal('show')  $('#identifier').modal('hide')    事件  show.bs.modal    在调用 show 方法后触发。$('#identifier').on('show.bs.modal', function () {  // 执行一些动作...})  shown.bs.modal    当模态框对用户可见时触发(将等待 CSS 过渡效果完成)。$('#identifier').on('shown.bs.modal', function () {  // 执行一些动作...})  hide.bs.modal    当调用 hide 实例方法时触发。$('#identifier').on('hide.bs.modal', function () {  // 执行一些动作...})  hidden.bs.modal      当模态框完全对用户隐藏时触发。    $('#identifier').on('hidden.bs.modal', function () {  // 执行一些动作...})二、滚动监听(Scrollspy)  通常用于多个(超出展示区域)相似结构的模块内容在同一页面上展示,通过滚动条滚动,相应的导航栏项随之变化  //data-spy指定要监听的元素, data-target指定导航组件nav元素的id或class, data-offset当计算滚动位置时,距离顶部的偏移像素,默认为number:10  <body data-spy="scroll" data-target=".navbar" data-offset="50"><nav class="navbar navbar-inverse navbar-fixed-top"><div class="container-fluid"><div class="navbar-header"><button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar"><span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span></button><a class="navbar-brand" href="#">WebSiteName</a></div><div><div class="collapse navbar-collapse" id="myNavbar"><ul class="nav navbar-nav"><li><a href="#section1">Section 1</a></li><li><a href="#section2">Section 2</a></li><li><a href="#section3">Section 3</a></li><li class="dropdown">    <a class="dropdown-toggle" data-toggle="dropdown" href="#">Section 4 <span class="caret"></span></a><ul class="dropdown-menu"><li><a href="#section41">Section 4-1</a></li><li><a href="#section42">Section 4-2</a></li></ul></li></ul></div></div></div></nav><div id="section1">...</div><div id="section2">...</div><div id="section3">...</div><div id="section41">...</div><div id="section42">...</div>  </body>  方法  .scrollspy('refresh')    用于添加或移除DOM元素时使用    <div class="section">        <h4 id="jmeter">jMeter<small><a href="#" onclick="removeSection(this);">× 删除该部分</a></small></h4>        <p>jMeter 是一款开源的测试软件。它是 100% 纯 Java 应用程序,用于负载和性能测试。</p>    </div>    <div class="section">        <h4 id="ejb">EJB</h4>        <p>Enterprise Java Beans(EJB)是一个创建高度可扩展性和强大企业(比如 JBOSS、Web Logic 等)的 J2EE 上。</p>    </div><script>    $(function(){        removeSection = function(e) {            $(e).parents(".section").remove();            $('[data-spy="scroll"]').each(function () {                var $spy = $(this).scrollspy('refresh')            });        }        $("#myScrollspy").scrollspy();    });    </script>  事件  activate.bs.scrollspy    每当一个新项目被滚动监听激活时,触发该事件。    $("#myScrollspy").on('activate.bs.scrollspy',function(){  // var currentItem = $(".nav li.active > a").text();      //$("#activeitem").html("目前您正在查看 - " + currentItem);})  垂直滚动监听  (可参考最下面的附加导航Affix)  注意:需要将左边的胶囊标签位置固定  position: fixed;top: 20px;<body data-spy="scroll" data-target="#myScrollspy">  <div class="container">  <div class="row"><nav id="myScrollspy" class="col-md-3">  <ul class="nav nav-pills nav-stacked"><li class="active"><a href="#sec1">Section 1</a></li><li><a href="#sec2">Section 2</a></li><li><a href="#sec3">Section 3</a></li><li><a href="#sec4">Section 4</a></li><li><a href="#sec5">Section 5</a></li>  </ul></nav><div class="col-md-9">  <div id="sec1">...  </div>  <div id="sec2">...  </div>  ...</div>  </div>  </div></body>三、标签页(Tab)  切换时有动画效果    data-toggle="tab"或"pill"  需要添加 data-toggle="tab" 或 data-toggle="pill" 到锚文本链接中。       .nav .nav-tabs(水平式)  .nav .nav-pills(胶囊式)   添加 .fade 到每个 .tab-pane 后面以为标签页设置淡入淡出效果,第一个标签页必须添加 .in 类,否则初始化时没有内容  <ul class="nav nav-tabs" id="myTab"><li class="active"><a href="#home" data-toggle="tab">Home</a></li>...  </ul>  <div class="tab-content"><div class="tab-pane fade in active" id="home">...</div>...  </div>  方法  $().tab('show')  用以激活标签页元素和内容容器  $(function () {$('#myTab li:eq(1) a').tab('show');  });  事件  show.bs.tab    在标签页显示时触发,但是必须在新标签页被显示之前。分别使用 event.target 和 event.relatedTarget 来定位到激活的标签页和前一个激活的标签页。  shown.bs.tab    在标签页显示时触发,但是必须在某个标签页已经显示之后。分别使用 event.target 和 event.relatedTarget 来定位到激活的标签页和前一个激活的标签页。  <script>    $(function(){        $('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {            // 获取已激活的标签页的名称            var activeTab = $(e.target).text();            // 获取前一个激活的标签页的名称            var previousTab = $(e.relatedTarget).text();            //$(".active-tab span").html(activeTab);            //$(".previous-tab span").html(previousTab);        });    });  </script>四、提示工具(Tooltip)    data-toggle="tooltip"  注意:该插件不是纯 CSS 插件。如需使用须用 jquery 激活它  <script>    $(function () { $("[data-toggle='tooltip']").tooltip(); });  </script>  <a href="#" data-toggle="tooltip" title="默认的">默认的Tooltip</a>  <a href="#" data-toggle="tooltip" title="左侧的" data-placement="left">左侧的Tooltip</a>  <a href="#" data-toggle="tooltip" title="右侧的" data-placement="right">右侧的Tooltip</a>  <a href="#" data-toggle="tooltip" title="上侧的" data-placement="top">上侧的Tooltip</a>  <a href="#" data-toggle="tooltip" title="下侧的" data-placement="bottom">下侧的Tooltip</a>  <button class="btn btn-success" data-toggle="tooltip" data-placement="bottom" title="向下的tooltip">底部的</button>  选项  data-animation    提示工具使用 CSS 渐变滤镜效果。boolean 默认值:true  data-html    向提示工具插入 HTML。如果为 false,jQuery 的 text 方法将被用于向 dom 插入内容。如果您担心 XSS 攻击,请使用 text。boolean 默认值:false  data-placement    定位提示工具(即 top|bottom|left|right|auto)例如,如果 placement 是 "auto left",提示工具将会尽可能显示在左边,在情况不允许的情况下它才会显示在右边。string|function 默认值:top  data-selector    如果提供了一个选择器,提示工具对象将被委派到指定的目标。string 默认值:false  data-title    如果未指定 title 属性,则 title 选项是默认的 title 值。string | function 默认值:''  data-trigger    定义如何触发提示工具: click| hover | focus | manual。您可以传递多个触发器,每个触发器之间用空格分隔。string 默认值:'hover focus'  data-content    如果未指定 data-content 属性,则使用默认的 content 值。string | function 默认值:''  data-delay    延迟显示和隐藏提示工具的毫秒数 - 对 manual 手动触发类型不适用。如果提供的是一个数字,那么延迟将会应用于显示和隐藏。如果提供的是对象,结构如下所示:delay:{ show: 500, hide: 100 }number | object 默认值:0  data-container  向指定元素追加提示工具。实例: container: 'body'string | false 默认值:false  方法  <script>    $(function () { $('.tooltip-show').tooltip('show');});    //显示元素的提示工具。    $(function () { $('.tooltip-hide').tooltip('hide');});    //隐藏元素的提示工具。    $(function () { $('.tooltip-destroy').tooltip('destroy');});    //隐藏并销毁元素的提示工具。    $(function () { $('.tooltip-toggle').tooltip('toggle');});    //切换显示/隐藏元素的提示工具。    $(function () { $(".tooltip-options a").tooltip({html : true });    //向元素集合附加提示工具句柄。  </script>    事件  show.bs.tooltip  当调用 show 实例方法时立即触发该事件。  shown.bs.tooltip  当提示工具对用户可见时触发该事件(将等待 CSS 过渡效果完成)。  hide.bs.tooltip  当调用 hide 实例方法时立即触发该事件。  hidden.bs.tooltip  当提示工具对用户隐藏时触发该事件(将等待 CSS 过渡效果完成)。  例子:    $(function () { $('.tooltip-show').on('show.bs.tooltip', function () {        //alert("Alert message on show");    })  五、弹出框(Popover)    data-toggle="popover"  类似上面的tooltip    需要js激活  <script>    $(function () { $("[data-toggle='popover']").popover(); });  </script>    <a href="#" data-toggle="popover" title="下侧的" data-content="底部的一些内容" data-placement="bottom">下侧的Popover</a>  <button class="btn btn-success" data-toggle="popover" title="向下的" data-content="底部的一些内容" data-placement="bottom">底部的</button>    选项  data-animation  data-html  data-placement  data-selector  data-title  data-trigger  data-delay  data-container  方法  $().popover(options);  $().popover('toggle');  $().popover('show');  $().popover('hide');  $().popover('destroy');    事件  show.bs.popover  shown.bs.popover  hide.bs.popover  hidden.bs.popover六、警告框(Alert)  <div class="alert alert-warning fade in">    //注意此处并没有添加.alert-dismissible    添加两个类.fade & .in可在关闭时启用动画<a href="#" class="close" data-dismiss="alert">×</a>    //这个关闭(按钮)较之前button生成的颜色更深一些<strong>警告!</strong>您的网络连接有问题。  </div>  方法  $('').alert();    让所有的警告框都带有关闭功能。  $('').alert('close');    关闭所有的警告框。  事件  close.bs.alert    当调用 close 实例方法时立即触发该事件。  closed.bs.alert    当警告框被关闭时触发该事件(将等待 CSS 过渡效果完成)。  七、按钮(Button)  显示加载状态信息  data-loading-text属性值为加载时显示的内容  <button id="fat-btn" class="btn btn-primary" data-loading-text="Loading..." type="button"> 加载状态 </button>  <script>    $(function() {        $(".btn").click(function(){            $(this).button('loading').delay(1000).queue(function() {             $(this).button('reset');             $(this).dequeue();             });        });    });    </script>  切换显示按压状态  data-toggle="button"  <button type="button" class="btn btn-primary" data-toggle="button"> 单个切换 </button>  单选按钮/复选按钮  <div class="btn-group" data-toggle="buttons"><label class="btn btn-primary"><input type="radio" name="options"> 选项 1    //换为<input type="checkbox"></label><label class="btn btn-primary"><input type="radio" name="options"> 选项 2</label><label class="btn btn-primary"><input type="radio" name="options"> 选项 3</label>  </div>    方法 (点击事件触发)  $(this).button('toggle');    切换按压状态。赋予按钮被激活的外观。可以使用 data-toggle 属性启用按钮的自动切换。  $(this).button('loading').delay(1000).queue(function() {});     当加载时,按钮是禁用的,且文本变为 button 元素的 data-loading-text 属性的值。  $(this).button('loading').delay(1000).queue(function() {$(this).button('reset');$(this).dequeue();  });     重置按钮状态,加载loading文本内容恢复为最初的内容。  $(this).button('loading').delay(1000).queue(function() {$(this).button('complete');    //button需要设置自定义属性data-complete-text的值$(this).dequeue();  });      该方法中的字符串是指由用户声明的任何字符串。使用该方法,重置按钮状态,并添加新的内容。  八、折叠(Collapse)  (参考组件十九:面板)  <div class="panel-group" id="accordion">    //.panel-group多组折叠对象容器<div class="panel panel-default">    //.panel需要折叠的对象<div class="panel-heading"><h4 class="panel-title"><a data-toggle="collapse" data-parent="#accordion" href="#collapseOne">  //data-toggle data-parent href|data-target标题</a></h4></div><div id="collapseOne" class="panel-collapse collapse in">    //id对应上面的href  三个类名不可少<div class="panel-body">内容</div></div></div>...  </div>      选项  data-parent    如果提供了一个选择器,当可折叠项目显示时,指定父元素下的所有可折叠的元素将被关闭。selector 默认值:false    data-toggle    切换调用可折叠元素。boolean 默认值:true  方法  $('#identifier').collapse({toggle: false})      激活内容为可折叠元素。接受一个可选的 options 对象。  $('#identifier').collapse('toggle')    切换显示/隐藏可折叠元素。  $('#identifier').collapse('show')    显示可折叠元素。  $('#identifier').collapse('hide')      隐藏可折叠元素。  事件  show.bs.collapse  shown.bs.collapse  hide.bs.collapse  hidden.bs.collapse    九、轮播(Carousel)  <div id="myCarousel" class="carousel slide" data-ride="carousel" data-slide="next" data-interval="2000">  //属性 data-slide 接受关键字 prev 或 next,用来改变幻灯片相对于当前位置的位置。  //使用 data-slide-to 来向轮播传递一个原始滑动索引,data-slide-to="2" 将把滑块移动到一个特定的索引,索引从 0 开始计数。  //data-ride="carousel" 属性用于标记轮播在页面加载时就开始动画播放。<!-- 轮播(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="/wp-content/uploads/2014/07/slide1.png" alt="First slide"><div class="carousel-caption">标题 1</div>    //在下方的圆点上面显示标题信息(任何html都可)</div><div class="item"><img src="/wp-content/uploads/2014/07/slide2.png" alt="Second slide"><div class="carousel-caption">标题 2</div></div><div class="item"><img src="/wp-content/uploads/2014/07/slide3.png" alt="Third slide"><div class="carousel-caption">标题 3</div></div></div><!-- 轮播(Carousel)导航 -->    //左右的导航(图标)<a class="carousel-control left" href="#myCarousel"    data-slide="prev">‹</a><a class="carousel-control right" href="#myCarousel"    data-slide="next">›</a>  </div>       选项  data-interval    自动循环每个项目之间延迟的时间量。如果为 false,轮播将不会自动循环。number 默认值:5000    data-pause    鼠标进入时暂停轮播循环,鼠标离开时恢复轮播循环。string 默认值:"hover"    data-wrap    轮播是否连续循环。boolean 默认值:true  方法  $('#identifier').carousel({interval: 2000})    初始化轮播为可选的 options 对象,并开始循环项目。    $('#identifier').carousel('cycle')  从左到右循环轮播项目。    $('#identifier').carousel('pause')  停止轮播循环项目。    $('#identifier').carousel(number)  循环轮播到某个特定的帧(从 0 开始计数,与数组类似)。    $('#identifier').carousel('prev')  循环轮播到上一个项目。    $('#identifier').carousel('next')  循环轮播到下一个项目。    事件  slide.bs.carousel  当调用 slide 实例方法时立即触发该事件。    slid.bs.carousel  当轮播完成幻灯片过渡效果时触发该事件。  十、附加导航(Affix)    某个 <div> 固定在页面的某个位置,它们将在某个位置开始,但当页面点击某个标记,该 <div> 会锁定在某个位置,不会随着页面其他部分一起滚动。    <body data-spy="scroll" data-target="#myScrollspy">    //结合垂直滚动监听<div class="container">   <div class="jumbotron"><h1>Bootstrap Affix</h1></div><div class="row"><div class="col-xs-3" id="myScrollspy"><ul class="nav nav-tabs nav-stacked" data-spy="affix" data-offset-top="125">    //只需在此处添加 data-spy="affix"  data-offset-top设置偏移<li class="active"><a href="#section-1">第一部分</a></li><li><a href="#section-2">第二部分</a></li><li><a href="#section-3">第三部分</a></li><li><a href="#section-4">第四部分</a></li><li><a href="#section-5">第五部分</a></li></ul></div><div class="col-xs-9"><h2 id="section-1">第一部分</h2>...<hr><h2 id="section-2">第二部分</h2>...<hr><h2 id="section-3">第三部分</h2>...<hr><h2 id="section-4">第四部分</h2>...<hr><h2 id="section-5">第五部分</h2>...</div></div></div>  </body>    $('#myAffix').affix({    //可不用设置data-spy及data-offset-top,可改由js实现   offset: {  top: 100, bottom: function () { return (this.bottom = $('.bs-footer').outerHeight(true)) }  }  })                      

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 学生成绩考差了班主任怎么办 高一的学生成绩跟不上怎么办 综合素质评价手册丢了怎么办 小学综合素质评价手册丢了怎么办 人体质不出汗差怎么办 儿子一年级语文成绩太差怎么办 小孩读一年级差几个月怎么办 小孩一年级下学期数学差怎么办 小学五年成绩差怎么办 生完孩子记忆力不好怎么办 生了孩子之后记忆力不好怎么办 孩子记忆力差学习不好怎么办 党课结业证丢了怎么办 对三年级不听话的学生应该怎么办 素质报告单丢了怎么办 社保小红本丢了怎么办 小红本丢了怎么办 孩子小红本丢了怎么办 小学素质报告册丢了怎么办 小学生素质报告册丢了怎么办 高中素质报告册丢了怎么办 小升初素质报告单丢了怎么办? 三供一业移交后社区管理职能怎么办 初中政治总考不好怎么办 孩子上初一学习越来越差怎么办 胸经过整容后变得胸闷怎么办? 网瘾高中不学习怎么办 犯罪人逃到美国怎么办 10岁儿童偏胖怎么办 土地面积与实际面积不符怎么办 军转进省直单位双选失败怎么办 房改房楼龄到了70年怎么办 商品房房改房到70年后怎么办 公务员未享受房改政策怎么办 两套房改房违规怎么办 法院保全的物品在我家怎么办 西瓜视频答题结束了钱没提现怎么办 诚信答题密码忘了怎么办 我未成年杀了人怎么办 错过了网课考试怎么办? 2018广东省普法考试0分怎么办