首页 > 其他分享 >DOM动画效果怎么做

DOM动画效果怎么做

时间:2023-04-13 16:41:13浏览次数:25  
标签:动画 iNow attr 效果 DOM JavaScript ele var speed

JavaScript 是世界上最流行的脚本语言。 JavaScript 是属于 web 的语言,它适用于 PC、笔记本电脑、平板电脑和移动电话。 JavaScript 被设计为向 HTML 页面增加交互性。 许多 HTML 开发者都不是程序员,但是 JavaScript 却拥有非常简单的语法。几乎每个人都有能力将小的 JavaScript 片段添加到网页中。下面给大家分享下JavaScript教程全套视频合集:DOM动画效果。

DOM动画效果

让一个元素从左至右进行运动

var box = document.getElementById("box");
var t = null;
t = setInterval(function(){
})

运动的终止条件

t = setInterval(function(){终止条件}) // 元素的属性值 === 目标点
if(dom.attr === target){
clearInterval(t);
}

运动的三要素

起始点 一个运动的起始点其实就是当前元素的位置,我们通过API获取当前元素的位置,让这个位置作为运动的起始。 目标速度 DOM动画效果封装

单属性运动框架:

function move( ele , attr , target){
// 1. 关闭开启定时器;
clearInterval( ele.timer );
ele.timer = setInterval( function(){
// 2. 计算速度;
if(attr === "opacity"){
var iNow = parseInt(getComputedStyle(ele)[attr] * 100); //0 ~ 100
}else{
var iNow = parseInt(getComputedStyle(ele)[attr]); //100
}
var speed = (target - iNow) / 10;
// 3. 速度取整;
if(speed > 0){
speed = Math.ceil(speed);
}else{
speed = Math.floor(speed);
}
if(attr === "opacity"){
ele.style[attr] = (iNow + speed) / 100 ;
}else{
ele.style[attr] = iNow + speed + "px";
}
// 4. 终止条件;
if(iNow === target){
clearInterval(ele.timer);
}
} , 50)

标签:动画,iNow,attr,效果,DOM,JavaScript,ele,var,speed
From: https://blog.51cto.com/u_15739596/6188140

相关文章

  • echarts在同一个dom元素中创建两个图表
    核心:使用grid进行分区//直角坐标系内绘图网格左右通过left和right分上下通过top和bottom分grid:[{left:'10%',right:'55%',width:'30%'},{left:'55%',right:'10%',width:'30%'},],实例效果图: 实例代码:initEch......
  • org.dom4j.DocumentException: Connection timed out: connect Nested exception: Con
    今天用dom4j解析xml文件时遇到了一个问题org.dom4j.DocumentException:Connectiontimedout:connectNestedexception:Connectiontimedout:connect atorg.dom4j.io.SAXReader.read(SAXReader.java:484) atorg.dom4j.io.SAXReader.read(SAXReader.java:321) atcom......
  • 自己动手,通过源码找回 Ant-Design-Blaozr 中 Tree 组件的搜索筛选效果
    最近更新一个Blazorserver的项目,顺带把用到的Ant-Design-Blazor升级到了最新的0.14.4,结果发现之前在0.8.4版本中Tree组件的搜索显示效果变了,从仅显示找到的节点变成了在全部节点中高亮显示匹配的结果,为了节省用户沟通成本(就是懒得跟最终用户费口舌解释),于是自己动手把这个......
  • JS倒计时效果
    倒计时实现思路:1-用户输入的时间减去当前的时间就是剩余的时间,即倒计时2-不能用时分秒直接相减,因为出来的结果会是负数,比如01分减去15分,结果是负14分3-需要引入时间戳的概念,用户输入时间的总毫秒数减去当前时间的总毫秒数,得到的就是剩余时间的毫秒数4-最后把剩余时间的毫秒数转化......
  • 涨姿势了,有意思的气泡 Loading 效果
    今日,群友提问,如何实现这么一个Loading效果:这个确实有点意思,但是这是CSS能够完成的?没错,这个效果中的核心气泡效果,其实借助CSS中的滤镜,能够比较轻松的实现,就是所需的元素可能多点。参考我们之前的:使用纯CSS实现超酷炫的粘性气泡效果巧用CSS实现酷炫的充电动画圆弧......
  • There is a chart instance already initialized on the dom原因及解决办法
    原因:这是因为在我们重复使用了初始化了echars实例,每个组件使用时,如果调用两次及以上的初始化方法时,就会出现这个警告,并且如果是实时监控的标表,会出现浏览器卡顿及响应慢,因为要一直重新渲染新的Dom。解决办法,初始化代码只出现一次,js中只要执行一次实例化代码,VUE中调用生命周期moun......
  • PathView实现炫酷SVG动画
    解析SVG,需要将一个androidsvg.jar包含进libshttps://github.com/geftimov/android-pathview<?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:orientati......
  • 什么叫真正的Windows系统音频终极增强效果器
    什么FXSound,什么DTS,什么杜比音效之类的,我说句好听点儿的,这些都是弟弟,想用它们把自己的音箱调教成喜欢的效果,不好意思,它们做不到,换句话说就是鸡肋,食之无味,弃之可惜!因为这些软件处理之后的效果没有一种是不失真严重的,原始音频信号不说丢失大半,最少也得丢失个百分之二三十,这根本谈不......
  • 【manim动画教程】--常用动画效果
    manim的主要功能就是制作动画,因此它提供了各类丰富的动画效果,本篇主要介绍其中最常用的几种动画效果。至于特殊的动画效果,以及自定义动画效果的方法以后再另外介绍。1.创建效果展示某个元素或者文字时,一下子就全显示出来会显得比较突兀,通过创建效果的动画,让各个元素的出现更......
  • UVa 350 Pseudo-Random Numbers (伪随机数的循环长度)
    350-Pseudo-RandomNumbersTimelimit:3.000secondshttp://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=100&page=show_problem&problem=286Computersnormallycannotgeneratereallyrandomnumbers,butfrequentlyar......