百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>html5教程> 用React完成一个图片轮播组件
分享文章到:

用React完成一个图片轮播组件

发布时间:09/01 来源:未知 浏览: 关键词:
这次给大家带来用React完成一个图片轮播组件,使用React完成一个图片轮播组件的留意事项是什么,下面就是实战案例,一起来看一下。

1.jpg

使用React实现上述功效,第一,划分组件:

<SlideMS> <SlideM/>
 <SlideS/><SlideMS/>

组件SlideM代表中图组件,其始终保护一个state: currentMIndex,即当前的中图图片的index值。
组件SlideS代表小图组件,要保护两个state: currentSIndex,currentSPage, 即当前的小图图片的index值和小图当前的页数;

外层组件SlideMS 接受几个参数作为props:

<SlideMS     mediumImageArr={mediumImageArr}    eachMediumImgWidth = {616}    smallImageArr={smallImageArr}     eachSmallImgWidth = {82}/>, document.getElementById('js-img-slide'));
SlideM、SlideS再从SlideMS中猎取参数停止内部渲染。
<SlideM     mediumImageArr={mediumImageArr}    currentMIndex={currentMIndex}    eachMediumImgWidth = {eachMediumImgWidth}    callback={(index)=>{self.setSmallIndex(index)}} /><SlideS      smallImageArr={smallImageArr}      currentSIndex={currentSIndex}      eachSmallImgWidth={eachSmallImgWidth}      eachMediumImgWidth = {eachMediumImgWidth}      callback={(index)=>{self.setMediumIndex(index)}}/>

当点击中图的切换按钮时,运算图片偏移量,然后将新的currentMIndex传递给父组件,父组件setState通知两个子组件currentMIndex发生了改动;

小图组件中触及的运算比力多,可以将这些抽成办法,例如:按照给定的中图宽度运算一页有几张小图、运算小图总页数、按照给定的index值推断小图处于当前哪一页等。

当点击小图组件的摆布箭头时,运算图片的偏移量(第一运算一张中图里有几张小图),然后setState修改小图currentSPage的值。父组件setState通知两个子组件currentMIndex发生了改动;

中图、小图组件离别在componentWillReceiveProps 里接收到了新的值的改动后,从新setState,更新组件内部的state,就实现了两者之间的通讯。

以上是实现的一个思绪。在实际利用中,场景会复杂一些,例如,第一张图片大概存在播放视频的需求,还有当点击中图图片时,能切换到大图模式,大图模式下能正常轮播,并且在关闭大图模式时,中图和小图主动定位到方才最后一张阅读的图片。这时会触及轻微复杂一些的运算,需要在此根基上做一下兼容。

非常为难的一点:图片轮播时的动画结果,照旧使用了jquery的animate.

以上就是用React完成一个图片轮播组件的具体内容,更多请关注百分百源码网其它相关文章!

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有152人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板