使用BootStrap建立响应式网页——通栏轮播图(carousel)


Posted in Javascript onDecember 21, 2016

1、bootstrap提供了js插件——轮播图

我们还是照旧,直接拿过来用,需要改的地方再说。

2、修改

小屏幕看小图,大屏图看大图:这个可以利用自定义属性(data-XXX)data-img-lg(保存大图)和data-img-xs(保存小图)属性保存图片的路径,利用jQuery的data函数取出data-xxxx属性进行动态加载。

图片居中显示:大图用背景图片来做比较好一点,小图用img来做比较好一点(因为小图的话需要等比例缩放,用背景图做不到等比例缩放)。

承载轮播图的盒子高度:大图的的时候用图片的高度,小图自适应,所以要用到媒体查询,设置容器高度。

3、代码

<section id="banner" class="carousel slide" data-ride="carousel">
        <!--小圆点 -->
        <ol class="carousel-indicators">
          <li data-target="#banner" data-slide-to="0" class="active"></li>
          <li data-target="#banner" data-slide-to="1"></li>
          <li data-target="#banner" data-slide-to="2"></li>
          <li data-target="#banner" data-slide-to="3"></li>
        </ol>
        <!-- 轮播图片 -->
        <div class="carousel-inner" role="listbox">
          <div class="item active" data-img-lg="img/slide_01_2000x410.jpg" data-img-xs="img/slide_01_640x340.jpg">
          </div>
          <div class="item" data-img-lg="img/slide_02_2000x410.jpg" data-img-xs="img/slide_02_640x340.jpg">
          </div>
          <div class="item" data-img-lg="img/slide_03_2000x410.jpg" data-img-xs="img/slide_03_640x340.jpg">
          </div>
          <div class="item" data-img-lg="img/slide_04_2000x410.jpg" data-img-xs="img/slide_04_640x340.jpg">
          </div>
        </div>
        <!-- 左右轮播 -->
        <a class="left carousel-control" href="#banner" role="button" data-slide="prev">
          <span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
          <span class="sr-only">Previous</span>
        </a>
        <a class="right carousel-control" href="#banner" role="button" data-slide="next">
          <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
          <span class="sr-only">Next</span>
        </a>
    </section>
<script type="text/javascript">
      $(function() {
        //获取屏幕宽度
//        var screenWidth=$(window).width();
        //判断是不是手机屏幕
//        if(screenWidth<768){//手机屏幕
//          $("#banner .carousel-inner .item").each(function(index,item){
//          var $item=$(item);//因为传递的item是dom对象,要把dom对象改为jQuery对象
//          $item.css("background-image","url("+$item.data('img-xs')+")");
//          });
//        }else{//大屏幕
//          $("#banner .carousel-inner .item").each(function(index,item){
//          var $item=$(item);//因为传递的item是dom对象,要把dom对象改为jQuery对象
//          $item.css("background-image",'url('+$item.data('img-lg')+')');
//          });
//        }
        //三元式
//        var isPhone=screenWidth<768;
//        $("#banner .carousel-inner .item").each(function(index,item){
//          var $item = $(item);//因为传递的item是dom对象,要把dom对象改为jQuery对象
//          $item.css("background-image","url("+$item.data(isPhone?'img-xs':'img-lg')+")");
//        });
        function selectImg(){
          var screenWidth=$(window).width();
          var isPhone=screenWidth<768;
          $("#banner .carousel-inner .item").each(function(index,item){
            var $item = $(item);//因为传递的item是dom对象,要把dom对象改为jQuery对象
            $item.css("background-image",'url('+$item.data(isPhone?'img-xs':'img-lg')+')');
            //我们需要小图的时候等比例变化,所以我们需要img标签
            if(isPhone){
              $item.html("<img src='"+$item.data('img-xs')+"' alt='' />");
            }else {
              $item.empty();
            }
          });
        }
//        $(window).on("resize",selectImg);//这样是没有效果的,必须屏幕尺寸变化一下才会加载图片
        $(window).on('resize',selectImg).trigger('resize');//触发的是resize事件,不是事件处理程序selectImg
      });
    </script>

以上所述是小编给大家介绍的使用BootStrap建立响应式网页——通栏轮播图(carousel),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
纯js实现遮罩层效果原理分析
May 27 Javascript
fullpage.js全屏滚动插件使用实例
Sep 06 Javascript
bootstrap网格系统使用方法解析
Jan 13 Javascript
微信小程序实现图片自适应(支持多图)
Jan 25 Javascript
微信禁止下拉查看URL的处理方法
Sep 28 Javascript
解决iview打包时UglifyJs报错的问题
Mar 07 Javascript
详解vue的数据劫持以及操作数组的坑
Apr 18 Javascript
JS求1到任意数之间的所有质数的方法详解
May 20 Javascript
微信小程序页面间传递数组对象方法解析
Nov 06 Javascript
推荐几个不错的console调试技巧实现
Dec 20 Javascript
微信小程序自定义模态弹窗组件详解
Dec 24 Javascript
详解JavaScript中的Object.is()与&quot;===&quot;运算符总结
Jun 17 Javascript
js实现开启密码大写提示
Dec 21 #Javascript
js实现的在线调色板功能完整实例
Dec 21 #Javascript
Bootstrap 模态框(Modal)插件代码解析
Dec 21 #Javascript
清除输入框内的空格
Dec 21 #Javascript
利用BootStrap的Carousel.js实现轮播图动画效果
Dec 21 #Javascript
jQuery延迟执行的实现方法
Dec 21 #Javascript
jquery实现输入框实时输入触发事件代码
Dec 21 #Javascript
You might like
mysql 全文搜索 技巧
2007/04/27 PHP
PHP 多维数组排序实现代码
2009/08/05 PHP
php中使用array_filter()函数过滤空数组的实现代码
2014/08/19 PHP
PHP将session信息存储到数据库的类实例
2015/03/04 PHP
PHP简单实现DES加密解密的方法
2016/07/12 PHP
Yii2框架RESTful API 格式化响应,授权认证和速率限制三部分详解
2016/11/10 PHP
PHP htmlentities()函数用法讲解
2019/02/25 PHP
slice函数的用法 之不错的应用
2006/12/29 Javascript
使用jQuery简化Ajax开发 Ajax开发入门
2009/10/14 Javascript
js 赋值包含单引号双引号问题的解决方法
2014/02/26 Javascript
基于Jquery easyui 选中特定的tab
2015/11/17 Javascript
延时加载JavaScript代码提高速度
2015/12/27 Javascript
浅谈MVC+EF easyui dataGrid 动态加载分页表格
2016/11/10 Javascript
基于JS实现仿京东搜索栏随滑动透明度渐变效果
2017/07/10 Javascript
SpringBoot+Vue前后端分离,使用SpringSecurity完美处理权限问题的解决方法
2018/01/09 Javascript
vuejs实现标签选项卡动态更改css样式的方法
2018/05/31 Javascript
JS实现点击li标签弹出对应的索引功能【案例】
2019/02/18 Javascript
vue自定义组件(通过Vue.use()来使用)即install的用法说明
2020/08/11 Javascript
python中常用的九种预处理方法分享
2016/09/11 Python
python 中split 和 strip的实例详解
2017/07/12 Python
详解python实现识别手写MNIST数字集的程序
2018/08/03 Python
Python中修改字符串的四种方法
2018/11/02 Python
django实现类似触发器的功能
2019/11/15 Python
在python中实现求输出1-3+5-7+9-......101的和
2020/04/02 Python
基于Python实现视频的人脸融合功能
2020/06/12 Python
python3.4中清屏的处理方法
2020/07/06 Python
春秋航空官方网站:Spring Airlines
2017/09/27 全球购物
经济管理专业求职信
2014/06/09 职场文书
宿舍标语大全
2014/06/19 职场文书
地球物理学专业推荐信
2014/09/08 职场文书
毕业证代领委托书
2014/09/26 职场文书
2014年乡镇民政工作总结
2014/12/02 职场文书
大学生自荐材料范文
2014/12/30 职场文书
战友聚会致辞
2015/07/28 职场文书
医院病假条怎么写
2015/08/17 职场文书
SpringBoot实现quartz定时任务可视化管理功能
2021/08/30 Java/Android