发布时间:2023-09-21 13:00
前言
发现项目中的图片占位模块写得很不优雅,找了一圈,发现没找到自己想要的图片组件。于是自己写了一个,写了一个还算优雅的图片组件:mult-transition-image-view
截图:
功能简介
首先它是一个比较优雅的组件:用起来不头疼。
第二个它能实现以下场景:
没有图片的时候,显示一个占位图(可以直接用
希望在加载大图的时候,能先占位一张小图,然后再过渡到一张大图。类似上面的截图。
使用方法
安装npm 包
npm install react-mult-transition-image-view
代码部分
import ImageBoxView from \'react-mult-transition-image-view\'
当然 你可以设置其他属性
width=\"320\" //
height=\"200\" // 宽高,会转化成 style 属性
mode=\"style\" // 使用 style 去显示图片(默认:img)
img=\"#你要的图片#\"/> // 图片路径
小图过渡到大图的效果
animate=\"fade\" // 会触发动画样式(见下方样式部分 )
mode=\"style\" // 使用 style 去显示图片(默认:img)
img={[\'#小图地址#\', \'#大图地址#\']}/> // img 传入数组形式。
实现随机显示图片
当有很多图片的时候,可以让图片随机时间显示,增加图片显示出来的体验
(一起出来真的有点丑)
delay=\"100\" // 延迟加载(默认:0),可以传入一个随机数
img=\"#你要的图片#\"/> // 图片路径
幻灯片效果
因为 img 属性可以传入数组,所以 理论上可以加载很多图,实现幻灯片效果。
使用 wait 属性 来设置,每张图片加载后的等待时间
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;
}
}
TODO
github: https://github.com/qilei0529/react-mult-transition-image-view
本地下载:http://xiazai.jb51.net/201710/yuanma/react-mult-transition-image-view(jb51.net).rar
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对前端开发者的支持。