当前位置: 首页 > news >正文

网站开发 集成包主题网页设计

网站开发 集成包,主题网页设计,太原做企业网站,上海 网站设计Vue-lazyload 是一个基于 Vue.js 的图片懒加载库#xff0c;它的实现原理是基于 Intersection Observer API。Intersection Observer API 是一种异步观察目标元素与其祖先元素或顶级文档视窗交叉状态的方式。 Vue-lazyload 的实现原理如下#xff1a; 在需要懒加载的图片元素… Vue-lazyload 是一个基于 Vue.js 的图片懒加载库它的实现原理是基于 Intersection Observer API。Intersection Observer API 是一种异步观察目标元素与其祖先元素或顶级文档视窗交叉状态的方式。 Vue-lazyload 的实现原理如下 在需要懒加载的图片元素上添加一个自定义指令 v-lazy并将其参数传递给 Vue-lazyload 组件。Vue-lazyload 组件通过 Intersection Observer API 监听目标元素的交叉状态即当目标元素进入可视区域时触发回调函数。在回调函数中Vue-lazyload 组件会通过 $emit 触发一个加载事件通知父组件加载图片。父组件在接收到加载事件后会通过 $src 或者其他方式设置图片的真实路径完成图片的加载。      通过这种方式Vue-lazyload 可以实现图片的懒加载即在图片进入可视区域时才加载从而提高页面加载速度和性能。 一、使用Vue本身的指令 Vue本身提供了一个指令v-lazy可以实现图片懒加载。使用方式如下 img v-lazyimageSrc / 其中imageSrc是需要懒加载的图片路径。当图片进入可视区域时Vue会自动加载图片。 二、使用第三方库(推荐) vue社区中有许多第三方库可以实现图片懒加载例如vue-lazyload、vue-lazyload-enhanced等。这些库提供了更多的配置项和功能可以满足更多的需求。使用方式如下 2.1  安装下载 npm i vue-lazyload1.2.3 -S 2.2  main.js 导入 import VueLazyload from vue-lazyloadVue.use(VueLazyLoad, {// 可选配置项可省略error: require(./error.jpg), // 加载失败时显示的图片loading: require(./loading.gif), // 加载中时显示的图片preLoad: 1.3, // 预加载高度的比例attempt: 3 // 尝试加载次数 }) 2.3  页面使用 template div img v-lazyimageSrc / /div /template script import Vue from vue // main.js 已引入的可忽略 import VueLazyload from vue-lazyload // main.js 已引入的可忽略 Vue.use(VueLazyload, { // main.js 已引入的可忽略 // 配置项... }) /script// 个人实操使用可参考 templatediv classscroll-containerdiv classdemo-image__lazyimg v-for(url, index) in imgUrl :keyindex v-lazyurl / // 遍历图片/div/div /templatescriptexport default {data() {return {imgUrl: [ // 需要显示的所有图片require(/assets/help/1.jpg),require(/assets/help/2.jpg),require(/assets/help/3.jpg),require(/assets/help/4.jpg),require(/assets/help/5.jpg),],}},} /script style langless scoped // 根据视口大小显示图片宽度media screen and (max-width: 1200px) {.demo-image__lazy img {width: 100%;}}media screen and (min-width: 1200px) {.demo-image__lazy img {width: 50%;}} /style三、自定义指令 除了使用Vue本身的指令和第三方库外还可以通过自定义指令来实现图片懒加载。在自定义指令中可以通过Intersection Observer API来监听目标元素的交叉状态从而实现图片的懒加载。使用方式如下 template div img v-lazyloadimageSrc / /div /template script export default { directives: { lazyload: { inserted: function (el, binding) { const observer new IntersectionObserver(([entry]) { if (entry.isIntersecting) { const img new Image() img.src binding.value el.appendChild(img) observer.unobserve(el) } }, {threshold: 0.1}) observer.observe(el) } } } } /script
http://www.hkea.cn/news/14533562/

相关文章:

  • 万网域名跳转到指定网站培训型网站建设
  • 张北网站建设公司济宁计算机网站建设培训班
  • 如何建设网站兴田德润可以吗wordpress能改什么
  • 月嫂的个人简历网站模板杭州便宜的手机网站建设
  • 科技网站模板免费下载网站建设属于IT吗
  • 网站如何做h5动态页面如何用模板做网站视频
  • 石家庄服务大型建站外贸推广平台
  • 网站seo哪家做的好wordpress中文网站优化
  • 西安免费公司网站制作网站电子商务平台建设
  • 蜘蛛seo超级外链工具手机优化设置
  • 网络科技网站排名宁波网站制作定制
  • 成都高端网站制作公司厦门网站建设设计公司哪家好
  • 北京网站制作服务hexo插件wordpress
  • 垣曲网站建设舆情报告范文
  • 网站优化报告哈国际现货交易平台
  • 旅游网站开发系统的er图做网站和优化共多少钱
  • 做的网站怎才能被别人访问到深圳市龙华区属于哪个区
  • 合肥国际网站建设正规平台湖北省建设厅行政审批网站
  • 广东门户网站建设徐州建站模板
  • 西安建设主管部门官方网站织梦网站栏目是做什么用的
  • 沈阳网站建设的公司贵阳城乡建设网站
  • 最简单的网站北京网站建设定制
  • 中国建设银行云浮分行网站网站ip pv
  • 一般的网站开发语言用什么wordpress的ping功能设置
  • 网站建设制作价格山东济南城乡建设厅网站
  • 必要 网站wordpress百宝箱软件
  • 宣讲家网站两学一做智慧团建网页电脑版登录网站
  • 做外贸网站特色城乡建设杂志官方网站
  • 有哪些网站能够免费找到素材wordpress 获得分类名称
  • 数据库能上传网站模板WordPress阅读量 缓存