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

前端之家收集整理的这篇文章主要介绍了react实现一个优雅的图片占位模块组件详解前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

前言

发现项目中的图片占位模块写得很不优雅,找了一圈,发现没找到自己想要的图片组件。于是自己写了一个,写了一个还算优雅的图片组件:mult-transition-image-view

截图:

功能简介

首先它是一个比较优雅的组件:用起来不头疼。

第二个它能实现以下场景:

  • 没有图片的时候,显示一个占位图(可以直接用css来写背景,方便自定义
  • 希望在加载大图的时候,能先占位一张小图,然后再过渡到一张大图。类似上面的截图。

使用方法

安装npm 包

代码部分

BoxView from 'react-mult-transition-image-view'

<ImageBoxView img="#你的图片#"/>

当然 你可以设置其他属性

BoxView width="320" // height="200" // 宽高,会转化成 style 属性 mode="style" // 使用 style 去显示图片(默认:img) img="#你要的图片#"/> // 图片路径

小图过渡到大图的效果

// img 传入数组形式。

实现随机显示图片

当有很多图片的时候,可以让图片随机时间显示增加图片显示出来的体验 (一起出来真的有点丑)

BoxView delay="100" // 延迟加载(默认:0),可以传入一个随机数 img="#你要的图片#"/> // 图片路径

幻灯片效果

因为 img 属性可以传入数组,所以 理论上可以加载很多图,实现幻灯片效果。 使用 wait 属性 来设置,每张图片加载后的等待时间

// 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;
}

}

TODO

github:

本地下载:

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对编程之家的支持

原文链接:https://www.f2er.com/js/35478.html

猜你在找的JavaScript相关文章