您好,欢迎访问一九零五行业门户网

react实现一个图片占位模块组件详解

本文主要给大家介绍了关于react如何实现一个还算优雅的占位模块图片组件的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值。希望能帮助到大家。
前言
发现项目中的图片占位模块写得很不优雅,找了一圈,发现没找到自己想要的图片组件。于是自己写了一个,写了一个还算优雅的图片组件:mult-transition-image-view
截图:
功能简介
首先它是一个比较优雅的组件:用起来不头疼。
第二个它能实现以下场景:
没有图片的时候,显示一个占位图(可以直接用css来写背景,方便自定义)
希望在加载大图的时候,能先占位一张小图,然后再过渡到一张大图。类似上面的截图。
使用方法
安装npm 包
npm install react-mult-transition-image-view
代码部分
 import imageboxview from 'react-mult-transition-image-view'  <imageboxview img="#你的图片#"/>
当然 你可以设置其他属性
 <imageboxview width="320" // height="200" // 宽高,会转化成 style 属性 mode="style" // 使用 style 去显示图片(默认:img) img="#你要的图片#"/> // 图片路径
小图过渡到大图的效果
 <imageboxview animate="fade" // 会触发动画样式(见下方样式部分 ) mode="style" // 使用 style 去显示图片(默认:img) img={['#小图地址#', '#大图地址#']}/> // img 传入数组形式。
实现随机显示图片
当有很多图片的时候,可以让图片随机时间显示,增加图片显示出来的体验
(一起出来真的有点丑)
 <imageboxview delay="100" // 延迟加载(默认:0),可以传入一个随机数 img="#你要的图片#"/> // 图片路径
幻灯片效果
因为 img 属性可以传入数组,所以 理论上可以加载很多图,实现幻灯片效果。
使用 wait 属性 来设置,每张图片加载后的等待时间
 <imageboxview animate="fade" // 会触发动画样式(见下方样式部分 ) wait="100" // 每张图片加载完后,继续加载下一张的时间(默认:0) mode="style" // 使用 style 去显示图片(默认:img) img={['#图片1#', '#图片2#', '#图片3#']}/> // img 传入数组形式。
样式部分
别忘了样式部分
.c-img-box{  display:inline-block;  width: 320px;  height: 200px;  background: #f7f6f5;  position: relative;  .img-hold{  overflow: hidden;  background-size: cover;  background-repeat: no-repeat;  background-position: center;  img{   width:100%;   height:100%;  }  &.img-animate{   transition: opacity 0.5s;  }  }    .img-cover{  background: url('https://d.2dfire.com/om/images/menulist/7deb58da.default.png') no-repeat center/300px;  background-color:#f0f0f0;  }    .img-cover,  .img-hold,  .img-hide{  position: absolute;  width: 100%;  height: 100%;  top:0;  left:0;  }    .img-hide{  opacity: 0;  }   }
相关推荐:
react native 搭建开发环境详解
react封装一个portal可复用组件的实例代码
浅谈react 同构之样式直出
以上就是react实现一个图片占位模块组件详解的详细内容。
其它类似信息

推荐信息