轮播图实现

轮播图思路:

未命名文件.jpg

ul li标签

transform: translate

translate的距离默认为ul中第一个li标签的scrollWidth
(scrollWidth包括由于overflow溢出而在屏幕上不可见的内容。
scrollWidth值等于元素在不使用水平滚动条的情况下适合视口中的所有内容所需的最小宽度。 )

translate是对ul来说的

是否自动轮播:
自动轮播,通过定时器。同时手动滑动时清空定时器

无限滚动实现:
为了实现无限滚动需要多添加两张重复的图片:
图片ABCD ->
图片DABCDA
即在头尾加上图片的最后一张和第一张

https://www.jianshu.com/p/67d1f4989eb0
N张照片把contentsSize设置为N+2个图片的宽度,例子如下,两端填充如图,当处于一端时,且即将进入循环状态的时候,如第二张图,从状态1滑动到状态2,在滑动结束的时候,将当前的位置直接转到状态3,直接setContentOffset神不知鬼不觉,视觉上是循环的。

image

同时:
做边界判断
左右切换和前面的方法有所不同,前面是获取当前的索引值乘以-600px当做位移距离,
如果当前位置超过边界时(为补在头上的D、或尾上的A),小于-3000则变为-600px,如果大于-600则变为-3000px

轮播图圆点:
通过控制active的class来实现

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 效果图: 安装swiper插件 创建Swiper.vue组件 <template> ...
    嗯嗯_147e阅读 992评论 0 0
  • 第一种: 同学们在写需求的时候肯定会时常用到UIScrollView。而说到UIScrollView,大家最先想到...
    枫叶1234阅读 734评论 0 0
  • 前言:css3中的animation方法,可以帮助我们实现图片自动播放的效果。 css3的动画属性:下列表格中列举...
    何治国阅读 1,913评论 0 0
  • 前几天刚学到了一种最简单的轮播图实现方法,现在写在博客里就当是练习了。。。这种方法的核心原理是通过给图片元素附加d...
    锺权阅读 261评论 0 0
  • 开始之前 这是我的第一篇简书博客, 自己也在其他的博客网站写过 例如: CSDN , 当然还有我自己的小站 鹿鹿...
    changer0阅读 6,053评论 6 13