js动画学习(一)】的更多相关文章

<html> <head> <style> * { margin:0; padding:0; } #div1{ width:200px; height:200px; background:red; position:relative; left:-200px; top:0; } #div1 span{ width:20px; height:50px; background:skyblue; position:absolute; left:200px; top:75px;…
七.多属性封装函数 前面分别介绍了单独改变单一属性值得动画,从本节起开始介绍多属性封装函数,一个函数搞定多种属性值的改变. 首先介绍一个很重要的函数getStyle(),这个函数返回一个元素的当前属性值.两个形参分别是元素和属性.注意浏览器的兼容性问题. //获得元素样式专用封装函数,返回该属性的当前值 function getStyle(obj,attr) { if (obj.currentStyle) {//IE浏览器 return obj.currentStyle[attr]; } els…
四.简单动画之缓冲运动 实现速度的缓冲,即不同位置的速度不同,越靠近目标值速度越小,所以速度值与目标值与当前值之差成正比.这里要注意一个问题就是物体在运动中速度是连续变化的,不是按照整数变化的,当物体停止时由于小数的原因,位置可能不会回到原起点,会差一点,所以缓冲运动里变化的速度要取整. //鼠标移到元素上元素右移,鼠标离开元素回去. var timer=""; function Move(locat) {//移动终点位置 var ob=document.getElementById(…
一.运动框架实现思路 1.匀速运动(属性值匀速变化)(改变 left, right, width, height, opacity 等): 2.缓冲运动(属性值的变化速度与当前值与目标值的差成正比): 3.多物体运动: 4.任意属性值的变化(用封装函数): 5.链式运动(同一物体完成一系列的运动): 6.多物体同时运动 ==================================================== 二.简单运动之匀速运动 下面的函数就是运动系列函数的基本框架. //鼠标…
九.多属性同时运动 前面的例子都是每个属性单独运动,如果想要多属性同时运动怎么办?比如,我想要一个div的onmouseover事件中宽和高同时变化.下面这个函数是单独变宽: window.onload=function(){            var ob1=document.getElementById('div1');            ob1.onmouseover=function(){                startMove(ob1,'width',400);  …
<html> <head> <meta charest="utf-8"> <title>test</title> <style> #div{ background:darkred; position:absolute; width:200px; height:200px; left:-200px; } #span1{ background: blue; position: relative; width:50px;…
五.多物体变宽 这里面要注意由于物体变多了,需要给每个物体各配备一个定时器,否则如果只有一个定时器的话,当鼠标在不同物体之间快速滑动时,不同的物体就会出现争抢的现象.所以timer前要加obj. function changeWidth(obj,target) {//元素,目标值 clearInterval(obj.timer);//清除定时器防止嵌套调用 obj.timer=setInterval(function () {//设置定时器 var speed=(target-obj.offse…
WebGL three.js学习笔记 加载外部模型以及Tween.js动画 本文的程序实现了加载外部stl格式的模型,以及学习了如何把加载的模型变为一个粒子系统,并使用Tween.js对该粒子系统进行动画设置 模型动画demo演示(网页加载速度可能会比较慢) demo地址:https://nsytsqdtn.github.io/demo/naval_craft/naval_craft demo截图如下: 原模型截图: 在我们写three.js的网页的时候,大多时候并不需要我们去手动建立模型,一些…
一,js动画基本都是依靠setInterval和setTimeout来实现 1,setInterval是间隔执行,过一段时间执行一次代码 setInterval(function(){},500);即每隔500毫秒执行一次function(),不主动停止,会一直做下去. 2,setTimeout是延时执行,隔一段时间以后执行 setTimeout(function(){},500);即500毫秒以后执行函数function(),执行一次就结束了. /*var a=0 var b=setInter…
1.VUE中CSS动画原理(more是  v-enter 具体的根据 name的来决定) 动画是通过在某一时间段来添加样式决定的. 要通过 transition进行包裹. 2.在VUE中使用 animate.css库 (1)不用name的另外一种写法 (2)使用animate.css库( 库名+动画名   ---@keyframes类型的 ) 第一次刷新的时候页面就出现动画效果 (3)在VUE中同时使用过渡和动画 type="transition" 就是按照 transition的动画…