使用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 相关文章推荐
javascript 冒号 使用说明
Jun 06 Javascript
JQuery 引发两次$(document.ready)事件
Jan 15 Javascript
JavaScript简单实现网页回到顶部功能
Nov 12 Javascript
Javascript 高阶函数使用介绍
Jun 15 Javascript
使用AngularJS对路由进行安全性处理的方法
Jun 18 Javascript
javascript的正则匹配方法学习
Feb 24 Javascript
jQuery实现拖拽页面元素并将其保存到cookie的方法
Jun 12 Javascript
js数组实现权重概率分配
Sep 12 Javascript
node.js用fs.rename强制重命名或移动文件夹的方法
Dec 27 Javascript
JS打印彩色菱形的实例代码
Aug 15 Javascript
node.js实现为PDF添加水印的示例代码
Dec 05 Javascript
JavaScript实现商品评价五星好评
Nov 30 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
让这部DC动画新作刷新你的认知
2020/03/03 欧美动漫
Laravel 微信小程序后端实现用户登录的示例代码
2019/11/26 PHP
DOM 基本方法
2009/07/18 Javascript
指定位置如果有图片显示图片,无图片显示广告的JS
2010/06/05 Javascript
javascritp添加url参数将参数加入到url中
2014/09/25 Javascript
JS获取时间的方法
2015/01/21 Javascript
js中hash和ico的关联分析
2015/02/05 Javascript
JavaScript中的toLocaleDateString()方法使用简介
2015/06/12 Javascript
js生成随机数的方法实例
2015/10/16 Javascript
JavaScript入门系列之知识点总结
2016/03/24 Javascript
jQuery表格插件datatables用法汇总
2016/03/29 Javascript
vue axios 在页面切换时中断请求方法 ajax
2018/03/05 Javascript
vue-cli创建的项目,配置多页面的实现方法
2018/03/15 Javascript
小程序组件之仿微信通讯录的实现代码
2018/09/12 Javascript
vue框架下部署上线后刷新报404问题的解决方案(推荐)
2019/04/03 Javascript
js实现html滑动图片拼图验证
2020/06/24 Javascript
vue:el-input输入时限制输入的类型操作
2020/08/05 Javascript
JavaScript Dom实现轮播图原理和实例
2021/02/19 Javascript
[03:04]DOTA2英雄基础教程 影魔
2013/12/11 DOTA
python使用scrapy解析js示例
2014/01/23 Python
python获取一组数据里最大值max函数用法实例
2015/05/26 Python
Python安装模块的常见问题及解决方法
2018/02/05 Python
python怎么调用自己的函数
2020/07/01 Python
python两种获取剪贴板内容的方法
2020/11/06 Python
Python修改DBF文件指定列
2020/12/19 Python
Mountain Warehouse澳大利亚官网:欧洲家庭户外品牌倡导者
2016/11/20 全球购物
日常奢侈品,轻松购物:Verishop
2019/08/20 全球购物
我的珠宝盒:Ma boîte à bijoux
2019/08/27 全球购物
认识深刻的检讨书
2014/02/16 职场文书
事务机电主管工作职责
2014/02/25 职场文书
高中生综合素质自我评价
2015/03/06 职场文书
2015年社区民政工作总结
2015/04/21 职场文书
爱心捐助活动总结
2015/05/09 职场文书
Python预测分词的实现
2021/06/18 Python
SpringBoot+VUE实现数据表格的实战
2021/08/02 Java/Android
Python编程中内置的NotImplemented类型的用法
2022/03/23 Python