使用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 相关文章推荐
如果文字过长,则将过长的部分变成省略号显示
Jun 26 Javascript
js计算页面刷新的次数
Jul 20 Javascript
基于jQuery的获取标签名的代码
Jul 16 Javascript
JavaScript中的比较操作符&gt;、=、
Dec 31 Javascript
JavaScript、tab切换完整版(自动切换、鼠标移入停止、移开运行)
Jan 05 Javascript
使用vue.js2.0 + ElementUI开发后台管理系统详细教程(一)
Jan 21 Javascript
用node和express连接mysql实现登录注册的实现代码
Jul 05 Javascript
js实现前端图片上传即时预览功能
Aug 02 Javascript
jQuery实现可编辑的表格
Dec 11 jQuery
vue或react项目生产环境去掉console.log的操作
Sep 02 Javascript
electron踩坑之dialog中的callback解决
Oct 06 Javascript
Vue h函数的使用详解
Feb 18 Vue.js
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
PHP 日志缩略名的创建函数代码
2010/05/26 PHP
php数组的一些常见操作汇总
2011/07/17 PHP
php URL验证正则表达式
2011/07/19 PHP
PHP strip_tags保留多个HTML标签的方法
2016/05/22 PHP
PHP中如何使用Redis接管文件存储Session详解
2018/11/28 PHP
Laravel关系模型指定条件查询方法
2019/10/10 PHP
PHP发送邮件确认验证注册功能示例【修改别人邮件类】
2019/11/09 PHP
javascript 操作Word和Excel的实现代码
2009/10/26 Javascript
jquery tablesorter.js 支持中文表格排序改进
2009/12/09 Javascript
JavaScript去掉数组中的重复元素
2011/01/13 Javascript
完美兼容多浏览器的js判断图片路径代码汇总
2015/04/17 Javascript
jQuery实现图片上传和裁剪插件Croppie
2015/11/29 Javascript
浅谈JavaScript的全局变量与局部变量
2016/06/10 Javascript
关于RxJS Subject的学习笔记
2018/12/05 Javascript
vue 表单输入框不支持focus及blur事件的解决方案
2020/11/17 Vue.js
[01:02:06]LGD vs Mineski Supermajor 胜者组 BO3 第二场 6.5
2018/06/06 DOTA
Python存取XML的常见方法实例分析
2017/03/21 Python
Python读取和处理文件后缀为.sqlite的数据文件(实例讲解)
2017/06/27 Python
用Python编写一个高效的端口扫描器的方法
2018/12/20 Python
Django的models模型的具体使用
2019/07/15 Python
Python项目 基于Scapy实现SYN泛洪攻击的方法
2019/07/23 Python
django项目环境搭建及在虚拟机本地创建django项目的教程
2019/08/02 Python
python 并发下载器实现方法示例
2019/11/22 Python
Python数据可视化图实现过程详解
2020/06/12 Python
英语系毕业生自荐信
2013/10/31 职场文书
应届毕业生个人自荐信范文
2013/11/30 职场文书
蟋蟀的住宅教学反思
2014/04/26 职场文书
夫妻房产协议书的格式
2014/10/11 职场文书
初中生毕业评语
2014/12/29 职场文书
导师对论文的学术评语
2015/01/04 职场文书
淮阳太昊陵导游词
2015/02/10 职场文书
先进教师个人总结
2015/02/11 职场文书
2015秋季开学典礼致辞
2015/07/16 职场文书
用JS实现飞机大战小游戏
2021/06/09 Javascript
Go语言实现一个简单的并发聊天室的项目实战
2022/03/18 Golang
pandas进行数据输入和输出的方法详解
2022/03/23 Python