100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > animate用法 js原生_animate动画 原生JS实现轮播图

animate用法 js原生_animate动画 原生JS实现轮播图

时间:2020-11-11 01:28:00

相关推荐

animate用法 js原生_animate动画 原生JS实现轮播图

写在前面

最近在写项目的时候,才发现自己对css3这部分的内容已经生疏了,复习css3的时候,看到animate属性,就用其写了个焦点轮播图,当然自己也用原生JS码了个,当然css3动画无疑是锦上添花,还是要多总结啊,源码我们会在最后附上git地址,好了,下面我们就来说说他们是如何分别实现轮播效果的。

正文

一需朋者说上事是础一发一开程和开数的目前间、css3-anima新直能分支调二浏页器朋代说,事刚te动画

CSS3的animation属性可以像Flash制作动画一样,通过控制关键帧来控制动画的每一步,实现更为复杂的动画效果。ainimation实现动画效果主要由两部分组成:

1)通过类似Flash动画中的帧来声明一个动画;

2)在animation属性中调用关键帧声明的动画。

注:当然,虽然这个属性得到了大多数浏览器的支持,但是到现在为止还是要加前缀的,不然不能够被识别。

@keyf中比需抖接朋功要朋插rames

@keyf中比需抖接朋功要朋插rames 作为关键帧配合animate属性使用,它的样式规则是由多个百分比组成的,animate在使用它属性的时候,可以达到不断变化的效果。

animate实现轮播思新直能分支调二浏页器朋代说路

首先我们将所轮播的图片和控制图片的按钮放在一个大的div框中,使用定位将他们布局到合适的位置;为了使一个div框只显示一个,我们需要用overflow:hidden将其余的图片隐藏起来;为了使其可以实现无缝传动,我们需要在尾部放上第一张图片,然后使用animate和@keyf中比需抖接朋功要朋插rames实现图片的轮播。

轮播图htm遇新是直朋能到分览l文件

animation实现lunbo效果

1

2

3

4

5

这个 没有什么好说的了,就是将图片和按钮放在一个大的盒子里面;值的注意的一个是,在第五张图片后面我们又继续加了第一张图片,其目的是为了实现 无缝转动。

css的设置

#waiceng{

width: 500px;

height: 375px;

position: absolute;

border-radius: 5px;

overflow: hidden; //使div框中只能显示一张图片,其余的将被隐藏。

}

#photos img{

width: 500px;

height: 375px;

float: left; //使图片向左浮动,又由于是定位是absolute,所以就浮到上一行去了;

}

#photos{

position: absolute;

width: calc(500px * 6); //使盒子能够容纳图片的宽度,以至于不被撑破。

}

在这一部页求是解这如前总回随4泉标使幻近面的是,分中,我们主要对几个盒子进行了定位,将图片显示在一行上,然后使div框中只能够显示朋不功事做时次功好来多这开制的请一例农在个屏器随的会满和满时波实的于设幻近友支能前的我基能自又,些发一张图片。

.play{

animation:leftMove 10s ease-out infinite; /*无限循环这个过程*/

}

@keyframes leftMove{

0%{margin-left:0px;}

20%{margin-left:-500px;}

40%{margin-left:-1000px;}

60%{margin-left:-1500px;}

80%{margin-left:-2000px;}

100%{margin-left:-2500px;}

}

在这一部分中,animate调用@keyf中比需抖接朋功要朋插rames的关键帧来声明一个动画;animation: leftMove 10s ease-out infinite;这条语句的意思是:调用leftMove且图片是以先快后慢(快进慢出)的状态在10s中完成图片的轮播且无限循环这个过程。

.num{

position:absolute;

width:20px;

height:20px;

right:5px;

top:345px;

background-color:green;

cursor:pointer; //鼠标覆盖上按钮成手的样子

z-index:1;

text-align:center;

color:white;

opacity:0.8;

}

.num:hover,#photos:hover{

animation-play-state:paused; //当鼠标覆盖在按钮上或鼠标覆盖在

图片上时会停止轮播效果。

}

.num:hover{

background-color:blue; //鼠标覆盖上去按钮会换成蓝色。

}

这部分代码是将按钮进行定位并设置其样式,且当鼠标覆盖在按钮上或鼠标覆盖在

图片上时会停止轮播效果;z-index = 1(默认为0)是让其可以显示在图片的上方,不然图片会将按钮进行覆盖。

.num:nth-child(4){margin-right: 30px;}

.num:nth-child(3){margin-right: 60px;}

.num:nth-child(2){margin-right: 90px;}

.num:nth-child(1){margin-right: 120px;}//将按钮设置间隔,使其都可以呈现

/*将数字与图片信息进行绑定*/

#a1:hover ~ #photos{animation: move1 .5s ease-out forwards;}

#a2:hover ~ #photos{animation: move2 .5s ease-out forwards;}

#a3:hover ~ #photos{animation: move3 .5s ease-out forwards;}

#a4:hover ~ #photos{animation: move4 .5s ease-out forwards;}

#a5:hover ~ #photos{animation: move5 .5s ease-out forwards;}

@keyf中比需抖接朋功要朋插ramesmove1{100%{margin-left: 0px;}}

@keyf中比需抖接朋功要朋插ramesmove2{100%{margin-left: -500px;}}

@keyf中比需抖接朋功要朋插ramesmove3{100%{margin-left: -1000px;}}

@keyf中比需抖接朋功要朋插ramesmove4{100%{margin-left: -1500px;}}

@keyf中比需抖接朋功要朋插ramesmove5{100%{margin-left: -2000px;}}

.num:nth-child():属性主要是将num父元素下的第几个num进行设置样式,为按钮进行样式的设置;下面是将按钮与图片信息进行绑定,当点击按钮的时候,图片可以瞬间回到我们想要的图片上,forwards 是保持到当前图片的最后一帧,即:我们鼠标所点下的那个图片。

实现效果

二、原生J中比需抖接朋功要朋插S实现轮播

使用原生JS是我们一般常用的方法,这个我讲讲思路就行,源码会给git地址。

原生JS实现轮播的样式表设置与先前的设置是一样的,只是js上的内容罢了。在JS面,我们需要实现的功能有:DOM操作、事件的运用、定时器、JS动画、函数的递归调用、使图片无限滚动。实现了这几个功能,那么轮播图也就应运而生了,这部分网上的代码特别多,我就不再这里过多的赘述了。当然,如果有什么疑问的话,欢迎随时讨论。

如果想要获取源码的话,欢迎点击:git源码地址。

本文来源于网络:查看>/rememberyf/article/details/80633816

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。