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源码地址。
本文来源于网络:查看 >https://blog.csdn.net/rememberyf/article/details/80633816
animate用法 js原生_animate动画、原生JS实现轮播图相关推荐
- html原生轮播图的实现,使用原生js实现点击切换图片(轮播图)效果
要实现的功能大致为: 点击两边的切换按钮,可以按顺序切换不同的图片 具体操作如下: 一.布局html 1.添加一个div容器 2.添加一个轮播图img标签 3.添加两个按钮img标签 二.css样式设 ...
- JS学习之BOM | 常见网页特效 | 轮播图 | 返回顶部 | 筋斗云案例
封校后终于回家咯给即将中考的弟弟加油鼓劲,下午还和涛哥约会但是时间太短了.继续学习吧 许个愿,让我中奖让我中奖让我中奖 常见网页特效案例 案例:网页轮播图(必须掌握) 轮播图装的图片和外面盒子一样大小 ...
- js 移动端网页特效+移动端轮播图案例+移动端常用开发插件的使用
触屏事件 常见触屏事件: 触屏touch事件 说明 touchstart 手指触摸到DOM元素时触发 touchmove 手指在DOM元素上滑动时触发 touchend 手指从一个DOM元素上移开时触 ...
- JS特效之很牛叉的轮播图
//HTML部分: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://w ...
- js + css 做出网易云音乐的轮播图
先说一下思路,网易云轮播图是这样的,每隔一段时间(这里运用到了js的定时器)右边的图片会放大(css的transform)并切换(定位的z-index)上来(这里还运用了过渡transition),最 ...
- 使用hammer.js实现移动端手指滑动切换轮播图教程
今天面试前端开发时,要求在移动端实现手指滑动切换轮播图 这里我用到 bootsrap 的轮播图组件 + hammer.js 库 文章参考: Hammer.js - 李林峰的园子 - 博客园 (cnbl ...
- JavaScript动画:offset和匀速动画详解(含轮播图的实现)
本文最初发表于博客园,并在GitHub上持续更新前端的系列文章.欢迎在GitHub上关注我,一起入门和进阶前端. 以下是正文. offset简介 我们知道,三大家族包括:offset/scroll/c ...
- Javascript-API-BOM、动画函数、网页轮播图、节流阀、筋斗云、固定侧边栏返回顶部案例
动画实现原理 核心原理:通过定时器 setInterval() 不断移动盒子位置. 实现步骤: 获得盒子当前位置 让盒子在当前位置加上1个移动距离 利用定时器不断重复这个操作 加一个结束定时器的条件 ...
- CSS3动画demmo和Vue轮播图
demo1:自动旋转的图片. <!DOCTYPE html> <html lang="en"> <head><meta charset=& ...
- Swift项目,超美的动画和tableView,collectionView,轮播图的使用,网络请求的封装等
<一>项目介绍: 这是一个Swift语言的项目,但是其中也有使用一些OC的三方库,比SDWebImage.WebViewJavascriptBridge等,同时实现了基本App的框架功能, ...
最新文章
- R语言dplyr包coalesce函数处理缺失值(missing value)实战
- 教你快速撸一个免费HTTPS证书
- zabbix文档3.4-7配置
- 利用非递归方法实现二叉树的中序遍历
- tcp/udp socket编程异同
- java多线程之线程的安全性(一)
- LINUX IRC使用
- 浅析神经网络为什么能够无限逼近任意连续函数
- oracle dblink 验证,Oracle DBLINK 简单使用
- linux的基础知识——时序竞态
- 数据结构实验之查找四:二分查找
- axios get请求方式
- Java基础入门笔记-多态
- 远程服务器,你不得不知道的命令行操作(一)
- 编译分析:提memcmp.c+gcc四十米大刀到C#世界中屠龙
- VJC案例-查找最大值
- 在线html排版网页排版,40张网页排版设计案例,总有一款你会用得上
- ASEMI快恢复二极管SFF806A的压降是多少
- 财会法规与职业道德【1】
- Mixed mode assembly is built against version 'v1.1.4322' of the runtime and...问题——C# DirectXSound