使用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常用排序实现代码
Dec 28 Javascript
jQuery图片的展开和收缩实现代码
Apr 16 Javascript
jquery 清空file域示例(兼容个浏览器)
Oct 11 Javascript
转换字符串为json对象的方法详解
Nov 29 Javascript
JS阻止用户多次提交示例代码
Mar 26 Javascript
JavaScript截断字符串的方法
Jul 15 Javascript
浅谈JavaScript的全局变量与局部变量
Jun 10 Javascript
使用JS轻松实现ionic调用键盘搜索功能(超实用)
Sep 06 Javascript
BootStrap Fileinput的使用教程
Dec 30 Javascript
微信小程序tabBar用法实例详解
Dec 04 Javascript
解决Angular.js中使用Swiper插件不能滑动的问题
Feb 26 Javascript
详解vue-cli3多环境打包配置
Mar 28 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
Terran兵种介绍
2020/03/14 星际争霸
是 WordPress 让 PHP 更流行了 而不是框架
2016/02/03 PHP
php实现购物车功能(以大苹果购物网为例)
2017/03/09 PHP
PHP用swoole+websocket和redis实现web一对一聊天
2019/11/05 PHP
PHP开发api接口安全验证操作实例详解
2020/03/26 PHP
Javascript 生成指定范围数值随机数
2009/01/09 Javascript
jQuery的一些特性和用法整理小结
2010/01/13 Javascript
javascript中最常用的继承模式 组合继承
2010/08/12 Javascript
js实时监听文本框状态的方法
2011/04/26 Javascript
多次注册事件会导致一个事件被触发多次的解决方法
2013/08/12 Javascript
jQuery中选择器小问题(新人难免遇到)
2014/03/31 Javascript
JavaScript两种跨域技术全面介绍
2014/04/16 Javascript
Node.js中安全调用系统命令的方法(避免注入安全漏洞)
2014/12/05 Javascript
jquery带动画效果幻灯片特效代码
2015/08/27 Javascript
js实现改进的仿蓝色论坛导航菜单效果代码
2015/09/06 Javascript
jquery制作图片时钟特效
2020/03/30 Javascript
快速学习AngularJs HTTP响应拦截器
2015/12/31 Javascript
Bootstrap每天必学之级联下拉菜单
2016/03/27 Javascript
AngularJS实现DOM元素的显示与隐藏功能
2016/11/22 Javascript
js Date()日期函数浏览器兼容问题解决方法
2017/09/12 Javascript
关于vue的语法规则检测报错问题的解决
2018/05/21 Javascript
bootstrap select2插件用ajax来获取和显示数据的实例
2018/08/09 Javascript
Python排序搜索基本算法之选择排序实例分析
2017/12/09 Python
Python制作词云的方法
2018/01/03 Python
python matplotlib 画dataframe的时间序列图实例
2019/11/20 Python
Python 内置函数globals()和locals()对比详解
2019/12/23 Python
python程序需要编译吗
2020/06/19 Python
python 实现端口扫描工具
2020/12/18 Python
法拉利英国精品店:Ferraris Boutique UK
2019/07/20 全球购物
大学学雷锋活动总结
2014/06/26 职场文书
赔偿协议书
2015/01/27 职场文书
教师个人年度总结
2015/02/11 职场文书
村官个人总结范文
2015/03/03 职场文书
毕业生捐书活动倡议书
2015/04/27 职场文书
运动会运动员赞词
2015/07/22 职场文书
浅谈pytorch中stack和cat的及to_tensor的坑
2021/05/20 Python