详解JavaScript轮播图技术理解

众所周知,轮播图现今在网页中占据着必不可少的地位。任何的一个网站,一个网页,都会出现一个轮播图,而轮播图更是利用JavaScript做出的一个比较基础的动画。下面是我本人对写轮播图的一点见解,很多地方可能不是很全面,甚至可能说是错误的,希望大家多多指点。

下面这个是我自己闲暇时随便做的一个轮播图:

详解JavaScript轮播图技术理解

我觉得轮播图中最主要的是要理解到图片为什么会滑动,是怎么控制的。上面这个我自己做的,是搭好的一个结构,在无序列表中插入需要的图片。然后在插入图片的后面添加一个空的无序列表,作为轮播图中下方的小点。

详解JavaScript轮播图技术理解

然后就是css中书写样式了,首先肯定得把无序列表中的li从从上至下排列变为水平方向排列,也就是给li添加一个float属性;然后有一点需要注意,轮播图外面的大盒子必须设置为图片的大小,超出的隐藏,这样可以刚刚好显示出一张图片。然后装图片的ul的宽度必须大于或者等于所有图片总宽度。同样,这里也需要运用一个定位的知识,子绝父相。给class为box的盒子设置相对定位,装图片的ul设置绝对定位。这里,尽管轮播图下面几个点没有,但是我们要把样式先写好,然后后面通过JavaScript添加。

主要样式如下:

详解JavaScript轮播图技术理解

详解JavaScript轮播图技术理解

详解JavaScript轮播图技术理解

在HTML文件和css样式表都已经写好之后,我们就可以开始书写js代码了,让图片动起来。

在JavaScript中让图片动起来的核心函数是setInterval(function(){},value);这个函数是一个定时器,第一个参数是你想让某个对象执行的事件或者动作,然后第二个参数value则是时间,意思是多少时间执行一次。

然后在轮播图中,想让图片动起来并且从视觉上看没什么异样,我们首先需要克隆第一张图片,并且将第一张图片加在最后。具体代码如下:

详解JavaScript轮播图技术理解

这个代码是用jQuery书写的,首先获取到轮播图那个大盒子,然后再找到轮播的图片这个对象,然后用first()方法找到第一张照片,并且用clone()这个方法将第一张照片克隆,最后用append()方法把克隆下来的这张照片添加到所有轮播图片的后面,这样克隆工作就完成了。

接下来就是让这个图片动起来了,动起来很简单,只需要设置一个定时器就ok,代码如下:

详解JavaScript轮播图技术理解

这时定时器中的move()函数并没有定义,接下来我们就定义这个函数,代码如下:

详解JavaScript轮播图技术理解

首先要定义一个变量i,初始值为0,每执行一次定时器,i的值便会加1。在定义一个size值,令其等于轮播图中图片的数量。然后让装所有图片的容器往左移动图片的宽度*i,这样在定时器的配合之下,图片就会一张一张的一次展示。可想而知,i的值肯定有个范围,不可能让它永远的加大,因此在move函数中,我们需要一个判定。当i=size的时候,这个时候轮播图中的照片肯定已经到了最后一张,这个时候我们前面克隆了第一张照片加在最后,因此这张照片虽然是最后一张,但是其实它是第一张照片。这时,我们就需要重置i的值,令i=1;并且通过jQuery控制样式,令装照片的容器回到初始位置,开始新的一次运动。

最后就是初始图片中的那几个点了,这个更简单了,我们获取了size的值之后,再通过for循环,就可以添加那几个点了。代码如下:

详解JavaScript轮播图技术理解

这个难点在于怎么让小点的位置随着图片的移动而移动。首先我们默认将在css中定义好的样式赋予第一个小点。代码如下:

详解JavaScript轮播图技术理解

然后就是在move函数中定义小点的相应的移动,代码如下:

详解JavaScript轮播图技术理解

很明显,小点的样式也是通过i来确定的。这里有一个误区,很多人会认为第一个小点就是1,但是其实不是,因为数组是从0开始的,所以第一个小点是0。i的值代表了显示的是第i-1张图片,所以这个时候只需要将样式赋予第i个点就行了,并且同时要清除其他的点的样式。特殊的当i=size-1的时候,这个时候,显示的是最后一张图,这张图下面那张图就是第一张图的克隆图,因此,这个时候,小点的样式就需要添加给第一个点。

完成以上操作之后,简单的轮播图就做好了。

详解JavaScript轮播图技术理解

作者:小屋
链接:http://www.rumenwu.com/operate/578.html
来源:入门屋
入门屋著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。部分内容复制其他平台,如有侵权请联系删除。

(0)
打赏 支付宝打赏 支付宝打赏 微信打赏 微信打赏
上一篇 2018-04-01 01:45
下一篇 2018-04-08 00:11

相关推荐

  • 视频号管理助手,批量管理多个账号,一键分发全平台

    视频号管理助手,批量管理多个账号,一键分发全平台 现在无论个人还是机构企业,为了获得更多流量,都会注册开通搜狐号、网易等10多个自媒体平台,如果你分发图文,15个平台保底1小时。如果你只分发视频,15个平台至少需要2个小时同时还得上传分发都成功,达到想要的后,会发现内容全网发布,除了麻烦就是麻烦,如果你招聘了员工,那么更头疼。下面小编教你轻松解决这些琐事。 …

    2022-07-19
    1.4K0
  • 科大讯飞陈涛:人工智能时代,基础行业应用是中国企业的机遇

    陈涛表示,人工智能成功的三要素是核心算法、专家资源还有行业大数据。

    2017-04-17
    2.9K0
  • 如何利用私域流量促进产品成交?

    这篇文章从私域流量出发,围绕如何搭建私域流量池,朋友圈种草以及快闪群成交,分析了。推荐给对这方面有兴趣的小伙伴们。 一、搭建私域流量池 掌握一个思维——低成本吸引精准客户。 给大家介绍私域流量营销导图,在经营客户的时候,我们必须要有个渠道,如果门店开在商场,商场就是我们的公域流量或者说是渠道,比如我们线上的淘宝、微博、抖音等自媒体平台,只是大家没发现这个流量…

    2020-03-16
    2.1K0
  • 抖音 VS 快手:品牌自播实用方法论

    2021年,直播电商的关键词,从“红人带货”秒变为“品牌自播”,这其中,有平台的推动,有品牌的自觉,有服务商等第三方机构的助力,也有标杆品牌的示范和引导作用。 当在新流量平台自播成为了品牌必考题,且通过自播实现月销千万甚至过亿的品牌案例不断增加,我们有必要再来做个简单复盘:在抖音、快手,玩儿得好的自播品牌,到底都掌握了什么样的运营秘笈? 一、抖音:精细化流量…

    2021-04-20
    1.3K0
  • 科学分析一下巨量引擎和腾讯广告的投放玄学

    本文内容结构(共4小节): 1.信息流广告投放是一门玄学吗 2.关于学习期和成熟期的那些事 3.广告投放系统的竞价判断逻辑 4.破解日常运营的投放玄学问题 1.信息流广告投放是一门玄学吗 2015、2016年是信息流(Feed流)广告增长相当迅猛的两年,广告优化师群体中也衍生了专门的信息流广告优化师岗位。 由于当时信息流广告行业很新,所以大部分信息流广告优化…

    2021-02-20
    1.3K0
  • 教育大公司玩转短视频账号,为什么这么难?

    如今短视频占据了很多用户的休闲娱乐时间,短视频平台也成了各个商家的引流平台;各种教育公司也在短视频平台上进行线上教育的普及和产品的投放,但是教育的短视频孵化和变现并不容易;本文作者分析了教育公司运营短视频账号的现状,我们一起来看一下。 跟身边做教育的朋友聊了聊他们最近运营抖音、快手账号的进展,朋友叙述的过程里频频叹气,言语间透露出身处教育公司的运营做短视频的…

    2020-10-10
    1.1K0