实现网站的响应式轮播图
来源:互联网 发布:逆袭网络剧百度云网盘 编辑:程序博客网 时间:2024/05/20 04:10
首先,得前人经验,借助插件实现轮播,不必吭哧吭哧绞尽脑计想逻辑,只需调属性即可,那么
怎么样来挑选第三方组件:
1.使用人数 以免踩坑
2.是否开源
3.文档是否齐全 使用帮助
4.活跃性 积极维护
5.小巧够用即可(轻量级)
这里选择OwlCarousel2(其实选啥看自己兴趣,大同小异)
<link rel="stylesheet" href="owlcarousel/owl.carousel.min.css"><link rel="stylesheet" href="owlcarousel/owl.theme.default.min.css">
<script src="jquery.min.js"></script><script src="owlcarousel/owl.carousel.min.js"></script>
<div class="ad"> <div class="owl-carousel owl-theme"> <div class="item"> <img src="img/ad001.png" /> </div> <div class="item"> <img src="img/ad002.png" /> </div> <div class="item"> <img src="img/ad003.png" /> </div> </div> </div>
$(document).ready(function(){ $(".owl-carousel").owlCarousel();});
基本的配置项:
items 一次显示几张图片Type: NumberDefault: 3The number of items you want to see on the screen.
nav 前后切换按钮Type: BooleanDefault: falseShow next/prev buttons.
loop 循环Type: BooleanDefault: falseInfinity loop. Duplicate last and first items to get loop illusion.
autoplay 自动播放Type: BooleanDefault: falseAutoplay.
autoplayTimeout 自动播放时间间隔Type: NumberDefault: 5000Autoplay interval timeout.
autoplayHoverPause 鼠标悬停Type: BooleanDefault: falsePause on mouse hover.
那么,这些配置项该怎么添加呢?写入js里面即可,看下面代码,
$(document).ready(function(){ $(".owl-carousel").owlCarousel({ items:1, autoplay:true, autoplayTime:4000, autoplayHoverPause:true});});
实现响应式图片的方法:
1.js或服务器端
$(document).ready(function(){ function makeImageResponsive(){ var width=$(window).width(); var img=$('.content img'); if(width<=480){ img.attr('src','img/480.png'); }else if(width<=800){ img.attr('src','img/800.png'); }else{ img.attr('src','img/1600.png'); } } $(window).on('resize load',makeImageResponsive);})
判断浏览器宽度的值,判断使用哪张图片。后台服务器用cookie处理也可以。
2.srcset
srcset为新标记,srcset是img标签中的属性,
<div class="content" style="width:100%;"> <img src="img/480.png" srcset="img/480.png 480w,img/800.png 800w,img/1600.png 1600w"/></div>
480w:480width
其实,使用srcset有个坑,当你把content的width值改成50%的时候,图片宽度大于240时就已经用800的图片展示了,就是说,图片变小,但是窗口还是按照100%来进行设置,那么,就需要配合sizes来进行设置了。
3.srcset配合sizes
sizes默认值为100vw,100vw:100% viewport width
不管img宽度是多少,content宽度设多少,都以100%视口宽度来显示,
<div class="content" style="width:50%;"> <img src="img/480.png" srcset="img/480.png 480w,img/800.png 800w,img/1600.png 1600w" sizes="50vw"/></div>
下面代码媒体查询实现:
在最小宽度为800px下,图片预估宽度为800px,其他情况下100%的视口宽度。
<div class="content" style="width:100%;"> <img src="img/480.png" srcset="img/480.png 480w,img/800.png 800w,img/1600.png 1600w" sizes="(min-width:800px) 800px,100vw"/></div>
这种情况下,1600的图片便不会加载出来。
如果在有边距的情况下,sizes值也可以通过算式来设置,如:
sizes="(min-width:800px) calc(100vw - 30em),100vw"
4.picture
可以在picture中写入不同的source来匹配不同的图片加载。可以设置多组图片配置。
<div class="content"> <picture> <source media="(max-width:36em)" srcset="img/csdn-s.jpg 768w"/> <source media="(orientation:landscape)" srcset="img/csdn-s.jpg 768w"/><!--针对横屏--> <source srcset="img/csdn.jpg 1800w"/> <img src="img/csdn.jpg" /> </picture></div>
其次,source还可以设置图片的格式,比如:webp,谷歌开发的图片格式
目前此格式,谷歌和安卓浏览器支持。
<source type="image/webp" srcset="logo.webp 480w,logo-m.webp 800w,logo-l.webp 1600w"/><source type="image/svg+xml" srcset="logo.svg 480w,logo.svg 800w,logo.svg 1600w"/>
5.svg
svg可缩放的矢量图片,一般简单的图标可以使用,在线编辑矢量图网站,http://editor.method.ac , https://icomoon.io
polyfill 主要处理浏览器兼容脚本,针对不同的兼容,有不同的库,针对响应式图片的兼容,有一个picturefill 库,只需要下载js库引入页面中即可。就可以放心使用picture了。
最终处理代码:
<div class="ad"> <div class="owl-carousel owl-theme"> <div class="item"> <picture> <source srcset="img/ad001-l.png" media="(min-width:50em)"/> <source srcset="img/ad001-m.png" media="(min-width:30em)"/> <img src="img/ad001.png" alt="第一张图片"/> </picture> </div> <div class="item"> <picture> <source srcset="img/ad002-l.png" media="(min-width:50em)"/> <source srcset="img/ad002-m.png" media="(min-width:30em)"/> <img src="img/ad002.png" alt="第二张图片"/> </picture> </div> <div class="item"> <picture> <source srcset="img/ad003-l.png" media="(min-width:50em)"/> <source srcset="img/ad003-m.png" media="(min-width:30em)"/> <img src="img/ad003.png" alt="第三张图片"/> </picture> </div> </div> </div>
- 实现网站的响应式轮播图
- 优化网站的响应时间
- 响应式网站的好处
- Bootstrap3实现的响应式幻灯滑动效果个人作品集/博客网站模板
- Bootstrap3实现的响应式幻灯滑动效果个人作品集/博客网站模板
- 网站合理不备案,国内IP数据加速,国外IP页面响应,网站数据分流加速的实现
- 提高网站响应速度的前端技术
- 瞬时响应:网站的高性能架构
- 瞬时响应:网站的高性能架构
- 瞬时响应:网站的高性能架构
- 瞬时响应:网站的高性能架构
- 瞬时响应:网站的高性能架构
- 瞬时响应:网站的高性能架构
- 瞬时响应:网站的高性能架构
- 使用bootstrap3做的响应式网站
- 瞬时响应:网站的高性能架构
- curl 查看网站的响应时间
- 瞬时响应:网站的高性能架构
- 止于至善
- Golang 学习笔记:HTTP, TCP/IP, UDP
- 安卓自定义圆形imageview
- linux 中fork函数详解
- 58. Length of Last Word
- 实现网站的响应式轮播图
- 回溯法-leetcode
- Flex 布局语法教程
- GraphX上的一些简单应用
- TCP协议中URG、PSH及三次握手与四次挥手
- github常见操作和常见错误!错误提示:fatal: remote origin already exists.
- 使用FloatingActionButton时出现的问题
- c++智能指针的原理与简单实现
- OKHttp3源码分析<CacheThreadPool线程池异步请求任务的执行>