css轮播图_浅谈无缝轮播图插件封装

页面中轮播图,对于一个前端开发者来说,是最基本的技能,不论是的商城网站,还是企业站,轮播图已经成为不可缺少的一个模块,而常见的轮播图不外乎两种,一种是渐隐渐现轮播图,一种是无缝轮播图。

网上关于轮播图的插件也有很多,但是用人家的代码总会出现各种各样的bug,我们修改bug往往要耗费很多时间,而且有些插件的效果还不符合我们的需求,那么我们该如何封装一个自己的轮播插件呢?这就是今天要分享的内容——封装轮播插件。

1、特效离不开合理的页面布局,所以我们首先需要进行页面布局:

HTML代码:

f024b9497aa4b54cabaf43bbb86edaca.png

2、在HTML页面中引入css样式文件:css样式文件代码如下:

CSS代码:

f0d13fd4e3e4db981e0ca35af8eabdcf.png
acfb5063cfb35d7c4dc62daec0f5effb.png
7afaceb884100730176bd3ec3440067f.png
b9a2805fa31b873c1f000818a0ce7d36.png
033a5ed8eb24075518c43ff36b689373.png
5cb88d5a206912ba002e7262ad8e3ac1.png
dddc31861ab393d7337729ac358f038b.png
299e6898192a938aeed48a8b6d1e3f7e.png
8575e364e2c6cc4bb83c8a70045301b3.png
3ae61175a2e35e067f40e0e1a0e3bb2b.png
67d9d76ad2f85fb0de145823603207a9.png
85efd5338f8e52d0bcff650e6be8cfa8.png

页面布局完成后,接下来就是javaScript代码,绑定事件;在绑定事件之前,我们首先要知道无缝轮播图的原理和一些技术关键点。

轮播图的原理:最外层视野区域固定大小且的溢出隐藏,通过动态控制包裹图片的父元素的marginLeft值实现轮播。

关键点1:最外层的盒子container固定大小,是我们的视野区域,需要设置溢出隐藏overflow:hidden;

关键点2:所有轮播的图片使用一个共同的父元素wrapper包裹起来;

关键点3:动态克隆第一张图片所在的元素silde,然后添加到最后;

关键点4:父元素wrapper的宽度为图片个数(原始图片个数+1,因为克隆多添加了一张图片)乘以单独一张图片的宽度;

关键点5:实现无缝轮播的判断条件,marginleft样式重置时机;

关键点6:动态生成分页器按钮,并设置分页器pagination样式;

关键点7:实现自动播放和清除播放,使用计时器setInterval()和 clearInterval()

关键点8:实现代码复用,借助面向对象的开发——构造函数+原型对象+jQuery插件封装机制实现。

3、关键点梳理完之后,就可以开始javascript代码:通过自执行函数实现;需要在HTML页面引入JS文件,JS文件代码如下:

JS代码:

b767b80f9039bca0d25aba215acac8ae.png
187fcb742fbcecce204ff638b51b9886.png
509cb2b1deded305c4125289a72e8988.png
d757a88720f060478805d243c700f6f4.png
409dd1101c0353211854bf7b745f36ab.png
af88c4a5e7059dd41c5414a928f469f3.png
de6af3d5fb92d043306f25a68e0145b2.png

最后在HTML页面中进行初始化,最好放到HTML结束标签之前的位置,因为我们封装的插件是依赖于jQuery的,因此首先引入jQuery文件,然后在引入我们自己封装的js文件;最后就是进行初始化设置:

a3f796d9824bfd6060f4e6a2c4f92ff9.png

到此为止,我们已经实现了轮播插件的封装并且实现了复用,只需要动态的绑定不同的元素mycontainer(可以动态修改成自己的元素名字)即可实现复用。

4、如果需要修改容器的大小和图片的大小,可以直接覆盖样式即可:

f518e14634ccf679c7cd53a125f8a1c3.png

5、完成。恭喜你,你的轮播插件可以正常切换了!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值