使用bootstrap建立响应式网页——通栏轮播图(carousel)
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)的更多相关文章
- 使用bootstrap建立响应式网页——头部导航栏
1.要建立响应式网站的布局,这个时候bootstrap的高级就能体现出来了. 2.先来了解一下bootstrap提供了哪些响应式工具供我们使用: (1)屏幕宽度尺寸的概念: <768px ...
- 关于Layui 响应式移动端轮播图的问题
用layui做轮播图,在手机上宽度异常, 可通过以下方法解决, 不喜欢layui的同学可以选择Swiper // 轮播图 layui.use('carousel', function () { var ...
- bootstrap开发响应式网页的常用的一些 类的说明
1.navbar-导航条 1.navbar-fixed-top,让导航条固定显示在页面上部(注意:固定的导航条会遮住代码,解决方案,给body设置padding-top的值[大于或等于]为我们导航条的 ...
- Bootstrap 我的学习记录4 轮播图的使用和理解
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8& ...
- Unslider – 轻量的响应式 jQuery 内容轮播插件
Unslider 是一款非常轻量的 jQuery 插件(压缩后不到3KB),能够用于任何 HTML 内容的滑动. 可以响应容器的大小变化,自动排布不用大小的滑块.可以通过整合 jQuery.event ...
- cssSlidy.js 响应式手机图片轮播
cssSlidy是一款支持手机移动端的焦点图轮播插件,支持标题设置,滑动动画,间隔时间等. 在线实例 实例演示 使用方法 <div id="slidy-container"& ...
- bootstrap建立响应式网站——tab选项卡
1.bootstrap给我们提供了标签页 细细看了一下bootstrap的标签页源码,对tab选项卡有了更深的理解.其实说来也简单,以前自己写js和css时没有意识到整体的划分.就是分为两部分:一部分 ...
- Bootstrap3的响应式缩略图幻灯轮播效果设计
在线演示1 本地下载 HTML <div class="container"> <div class="col-md-12"> &l ...
- jQuery---bootstrap的下载使用,栅格(12个格子),轮播图,矢量图字体图标,进度条,选项卡,标签,表达校验
jQuery---bootstrap的下载使用,栅格(12个格子),轮播图,矢量图字体图标,进度条,选项卡,标签,表达校验 一丶bootstrap的使用 下载资源文件: bootstrap官网 导入 ...
随机推荐
- 最详细win7下手动搭建PHP环境:apache2.4.23+php7.0.11
♣资源下载(apache24,php7,phpStorm9) ♣修改apache24配置文件 ♣安装和启动Apache服务 ♣修改php7.0.11配置文件 配置前说明:电脑需要有vc运行库环境,否则 ...
- jQuery核心结构简单分析
以下分析均采取沙箱模式 (function (window) { //为了提高性能把需要的变量统一提前声明 var arr = [], push = arr.push; //为区别jQuery,此文章 ...
- 二、mongo数据库
官网:https://www.mongodb.com/ 进入官网 右上角有个下载按钮Download 1.完成安装后:运行--cmd(命令面板) 2.常用命令: 打开数据库 mongod –dbpat ...
- 国内下载比较快的Maven仓库镜像
#收集的比较快的maven仓库 http://maven.wso2.org/nexus/content/groups/public/ http://jcenter.bintray.com/http:/ ...
- Linux install sogou input method
# Copyright (c) 2016, 付刘伟 (Liuwei Fu)# All rights reserved.# 转载请注明出处 Linux下安装搜狗输入法需要安装以下插件,当以下所有插件安装 ...
- IMG图片垂直居中的问题
之前老是碰到图片文字位置调整的问题,图片不按自己的要求变化,后来发现其实很简单. <P><img src="" style="vertical-alig ...
- LR日志解析
在录制和回放的时候,VU会分别把发生的事件记录成日志文件,这些日志有利于我们跟踪VU和服务器的交互过程. 1.回放日志(Replay log) 脚本回放运行时的输出都记在这个log里. "输 ...
- jQuery事件命名空间
先看一些代码: 也可以用bind进行事件绑定.我们看到上面的代码,我们可以在事件后面,以点号,加我们的名字,就是事件命名空间.所谓事件命名空间,就是事件类型后面以点语法附加一个别名,以便引用事件,如& ...
- 自己通过centos6.5配置NFS 成功后的笔记,希望对需要的人有点点帮助吧!
环境介绍: 服务器:centos 172.16.250.170 客户端:centos 172.16.250.172 先用rpm -qa ...
- html5 -----audio标签
在现在的公司上班需要做一个html5页面,上下可以滑动的,在页面上需要音乐,默认开始音乐播放,点击音乐标签后音乐停止.后来在项目开发中,遇到性能优化的问题,所以我建议大家以后在使用时不要直接在页面中使 ...