我用的bootstrap框架做的,轮播图代码用的bootstrap上的。
如何做到pc端和移动端兼容,关键在于一张图片需要2份,一份大的图,一份小的图,通过屏幕宽度的改变,来确定展示大图片还是小图片。

html代码

这里我将2张图片放在了自定义属性data-image中,方便操作。

<section id="main_ad" class="carousel slide" data-ride="carousel" data-interval="2200"><!-- Indicators 活动指示器--><ol class="carousel-indicators"><li data-target="#main_ad" data-slide-to="0" class="active"></li><li data-target="#main_ad" data-slide-to="1"></li><li data-target="#main_ad" data-slide-to="2"></li></ol><!-- 轮播内容容器 --><div class="carousel-inner" role="listbox"><div class="item active"  data-image-lg="img/slide_01_2000x410.jpg" data-image-xs="img/slide_01_640x340.jpg"></div><div class="item" data-image-lg="img/slide_02_2000x410.jpg" data-image-xs="img/slide_02_640x340.jpg"></div><div class="item" data-image-lg="img/slide_03_2000x410.jpg" data-image-xs="img/slide_03_640x340.jpg"></div></div><!-- Controls控制切换 --><a class="left carousel-control" href="#main_ad" 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="#main_ad" role="button" data-slide="next"><span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span><span class="sr-only">Next</span></a></section>

css代码

图片覆盖方式为cover,将整个图片铺满,定位让图片不管在pc还是移动端都能居中展示。

#main_ad > .carousel-inner > .item{height: 410px;background-repeat: no-repeat;background-position:center center;background-size:cover;
}
/*什么时候不能用410px高度*/
/*通过媒体查询的方式控制*/
/*当屏幕宽度大于768px的时候*/
@media (min-width: 768px) {#main_ad > .carousel-inner > .item{height: 410px;}
}
#main_ad > .carousel-inner > .item >img{width: 100%;background-repeat: no-repeat;background-position:center center;background-size:cover;
}

js代码

我用的jquery来写,定义了resize()方法,当屏幕宽度小于768的时候我让小图片将大图片替换掉,加trigger的原因是因为我遇到了图片开始的时候不出来,要改变宽度的时候才触发,所以加了trigger当图片一开始就触发,而不是resize的时候触发。

//让图片跟随屏幕自适应
$(function(){function resize(){var windowWidth = $(window).width();//获取屏幕的值//console.log(windowWidth);//判断屏幕大还是小var isSmallScreeen = windowWidth < 768;//根据大小为界面的每一张轮播图设置背景$('#main_ad > .carousel-inner > .item').each(function (i,item) {var $item = $(item);//因为each方法返回的是dom对象,不是jquery对象var imgSrc = $item.data(isSmallScreeen ? 'image-xs':'image-lg');$item.css('backgroundImage','url(" '+ imgSrc + '")');//因为我们需要小图尺寸等比例缩放,所以小图时我们使用img标签,更加体验友好,而不是在div里面直接backgroun:url()的方式,用url不会等比例缩放if(isSmallScreeen){$item.html('<img src="'+ imgSrc + '" alt="" />')}else{$item.empty();}})}$(window).on('resize',resize).trigger('resize');//trigger让函数自己触发一次
});

关于如何将轮播图在移动端和pc端自适应的操作相关推荐

  1. 横向自动轮播图html代码,JavaScript实现PC端横向轮播图

    JavaScript实现PC端横向轮播图 发布时间:2020-09-09 02:10:03 来源:脚本之家 阅读:100 作者:菜鸟向往蓝天 本文实例为大家分享了JavaScript实现PC端横向轮播 ...

  2. 置顶带滚动效果_前端面试:如何实现轮播图效果?

    本文将实现如上所示的轮播图.源代码 (https://github.com/z1ming/AKJS/tree/master/%E8%BD%AE%E6%92%AD%E5%9B%BE%E6%95%88%E ...

  3. js轮播图按钮小案例

    案列介绍 我们在写网页和app的时候经常看到轮播图,通过小按钮或者左右箭头按钮操作切换图片,点击到当前的小按钮并改变它的样式,并实现切换图片,本案例是写一个切换按钮的小案例. 一.大概步骤 注意:有很 ...

  4. 动画以及简单动画案例轮播图

    我们经常见到京东,淘宝的首页中总是有轮播图出现,今天我们用简单的动画效果实现一下.先看一下animation有什么属性,看下思维导图: 动画会把我们的静态页面变得丰富有趣起来,很多页面中都有简单的动画 ...

  5. 超级简单的jquery轮播图demo

    <!DOCTYPE html> <html><head><meta charset="UTF-8"><title>轮播图 ...

  6. bootstrap 两个轮播图冲突_Bootstrap的轮播图样式

    轮播效果是一个幻灯片效果,使用CSS 3D变形转换和一些JAvaScript构建一内容循环播放,它适用于一系列图像.文本或自定义标记,还包括对上一个/下一个图的浏览控制和指令支持. 轮播组件不支持互相 ...

  7. 轮播切换_javascript基础(一)——轮播图

    javascript基础(一)--轮播图 1.轮播图的实现原理 轮播图的js实现原理其实十分的简单,首先将图片放入一个ul标签中,ul标签的大小要足够将所有图片放入其中.然后再将ul标签放进div中, ...

  8. 微信小程序自定义轮播图滚动样式 自定义组件轮播图的实现

    效果图: 实现代码: wxml <view class="card card_b"><swiper autoplay="{{true}}" i ...

  9. Vue轮播图插件---Vue-Awesome-Swiper

    轮播图插件 Vue-Awesome-Swiper 地址:https://github.com/surmon-china/vue-awesome-swiper 安装:npm install vue-aw ...

  10. vue2.0 + vux (五)api接口封装 及 首页 轮播图制作

    1.安装 jquery 和 whatwg-fetch (优雅的异步请求API) npm install jquery --save npm install whatwg-fetch --save 2. ...

最新文章

  1. python字典存储省份与城市_在Python中存储字典路径
  2. 错误名称:EntityCommandExecutionException
  3. 数据文件实验#OCP#
  4. Red Hat Linux 5.2 14T大文件系统 分区过程
  5. 配置系统在开机时启动虚拟机
  6. php api数据,php API查询数据
  7. 计算机组装与维护思考问题,计算机组装与维护中的常见问题及解决方法
  8. 单片机ADC采样算法----消抖滤波法
  9. MATLAB脚本显示滤波器系数
  10. 三、Socket之UDP异步传输文件-多文件传输和文件MD5校验
  11. 项目管理十大知识领域之项目资源管理
  12. 炸了炸了~翻译器中的王者,科大讯飞翻译器2.0横空出世!| 钛空智慧星球推荐...
  13. 在线免费学习java资源推荐
  14. 安科瑞智能照明控制系统在医院行业的应用
  15. 菜鸟的Springboot学习日历(一)
  16. 128g固态加1linux分区,应该如何使用128G加1T机械硬盘?要不要分盘?
  17. Paddle进阶实战系列(二):智慧交通预测系统
  18. K8S-5--云原生基础/k8s基础及组件/二进制部署k8s集群
  19. 物联网模块选择注意事项
  20. 蚂蚁金服宫孙:guava探究系列之优雅校验数据

热门文章

  1. 在中国做操作系统研发 20 年是种什么体验?
  2. 当年中国的“四大工学院”,现在都咋样了?
  3. chinaren校友录恢复重新开放_确定!九寨沟景区9月27日对外开放(试运行) 最大限量为每天5000人 各大旅企产品已上线...
  4. iframe嵌套的html高度,iframe 多层嵌套 无限嵌套 高度自适应的解决方案
  5. java yyyy m d_日期-Java 8时间API:如何将格式“ MM.yyyy”的字符串解析为LocalD
  6. nginx php如何无响应,nginx,_nginx 可以直接响应服务静态页面吗, 为何配置了很久都不成功?,nginx - phpStudy...
  7. mysql 外键(foreign key)的详解和实例_MySQL数据库外键
  8. autocad .net开发指南_就业指南||职路明灯(二十)
  9. 基于python的聊天室_Python实现文字聊天室
  10. RxJava 设计理念 观察者模式 Observable lambdas MD