js之轮播图的实现

接下来就是对于轮播解构上代码布局的展示:

首先就是整个的展示区wrapper,然后就是用ul与li来展示图片区域当中的内容。接着就是两个按钮,然后就是用span来表示小圆点,当点击每个小圆点时,就会展示其对应的图片。接着就是样式上的布局,首先就是图片展示区域当中的内容。代码如下:

首先就是list-none去去除掉默认样式中ul与li当中的小圆点,然后就是整个wrapper区域中的内容,这个部分要看到图片中的展示,因此我们改变的包裹图片的offsetLeft值就不是它而是ul,用它来包裹这个图片,这里设置相对定位与绝对定位来控制。并且要将ul也就是上面代码当中的slidePage区域当中的宽度设置为五张图片的宽度,在设置的时候可以通过像素也可以通过百分比来设置,在这里我设置的则是像素的大小。接着就是对于每张图片的宽度设置,将每一张图片的宽度设置为展示区的大小,然后每次移动的距离的宽度也为展示区的宽度,这就是轮播的原理。设置float也就是设置其每张图片时横向排列的。下面所展示的就是按钮以及小圆点的样式布局代码如下:

其样式布局样式代码如上,通过绝对定位与相对定位来实现这里也就不多说了。其中需要注意的地方是active样式,最后展示的内容中图片展示的内容也就标志着小圆点的当前位置是什么,这如何直观的观察呢,那就是将这个小圆点加上active这个选择器,后面部分可以通过实时的增与移除这个选择器来反应出当前图片多对应的小圆点位置。说到这里,布局与样式上的工作也就完成了,那么接下来就是使得图片动起来。首先通过下面的代码我们要知道需要用到什么内容。代码如下:

首先我们需要获取到包裹图片区域的dom节点以及其下面的图片的总张数减一,然后需要获取到左右按钮,接着就是小圆点的dom节点,需要一个定时器也就是上面的timeOut 最后就是lock锁,当鼠标放上按钮或者是小圆点上时,轮播的效果取消。没有移动时就是自动轮播的过程。因此在这里我们需要封装图片移动的方法,然后将这个方法分别绑定在按钮与小圆点上,再这个方法绑定在定时器上,即可实现图片轮播。首先先看移动的方法:

在这里我们设置的定时器是setTimeout,因此只需要在最初的时候设置一次,然后再采用递归不停的调用这个方法即可。在图片轮播的时候分为两个方向,第一就是从左到右,第二就是从右到左。自动轮播的时候实现的是从左到右,因此在if语句中,符合里面不传入值与从左到右时,实现的就是包裹图片的区域offsetLeft减去图片的宽度。在这里还分别涉及到changeIndex方法与startMove()方法。首先说到的就是changeIndex()方法,主要是需要我们实时的去改变active的位置,在移动的过程中,触发的方向不一样,index的值加与减就不一样,然后将这个index值放入此方法中,然后就能实现图片上圆点样式上的改变,代码如下:

这个startMove()方法是在js中实现的一个为物体移动的方法的封装,在这里也可以采用css3来实现。那么让我们来看看这个运动的过程所封装的方法吧,代码如下:

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
77)

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值