运动函数的封装

 1 var timer = null;//定时器
 2 function startMove(obj, objArr, callback) {
 3     clearInterval(obj.timer);//清除上一次的定时器
 4     var onOff = false;//定义开关,初始值为false
 5     obj.timer = setInterval(function () {
 6         // console.log(attr);//属性
 7         // console.log(objArr[attr]);//属性值
 8         //遍历对象
 9         for (var attr in objArr) {
10             //获取实时位置
11             var tmpPos = parseInt(getPos(obj, attr));
12             //定义步长值
13             var speed = (objArr[attr] - tmpPos) / 10;
14             //判断步长值
15             speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed);
16
17             //赋值给对象
18             obj.style[attr] = tmpPos + speed + ‘px‘;
19
20         }
21          //判断元素运动的临界值
22          if((tmpPos + speed)==objArr[attr]) onOff = true;
23         if(onOff){
24             clearInterval(obj.timer);
25             if(callback){
26                 callback();
27             }
28         }
29     }, 30)
30
31 }
32 //封装函数获取实时位置
33 function getPos(obj, attr) {
34     if (obj.currentStyle) {
35         return currentStyle[attr];//IE
36     } else {
37         return getComputedStyle(obj)[attr];//非IE
38     }
39 }

原文地址:https://www.cnblogs.com/zoutuan/p/11594275.html

时间: 2024-10-14 22:36:02

运动函数的封装的相关文章

JS运动缓冲的封装函数

之前经常写运动函数,要写好多好多,后来想办法封装起来.(运动缓冲). 1 /* 2 物体多属性同时运动的函数 3 obj:运动的物体 4 oTarget:对象,属性名为运动的样式名,属性值为样式运动的终点值 5 ratio:速度的系数 6 */ 7 function bufferMove(obj, oTarget, fn,ratio = 8) { 8 clearInterval(obj.iTimer); 9 obj.iTimer = setInterval(function () { 10 //

JS运动中的封装的部分实用函数(框架)总结

JS运动中的封装的部分实用函数(框架)总结 前段时间学习JS运动时做的很实用的几个函数,应该可以称之为小的框架了,现在总结一下.为什么不当时就总结呢?我认为所谓总结不是趁着大脑中还残留着对新知识印象的时候将其写下来,而是过了一段时间之后再回头去看,将其重新拾起,这个时候一般会有对这些新东西的新看法和新的体会,我把这个过程称为"知识的发酵".对于我来说经过 "发酵"之后的带有自己的见解和体会东西才可以称之为总结. 下面分为几个版本来说,也反映了他们的进化过程,这几个函

jquer和封装的运动函数对比

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>图片切换----->> jquer和封装的运动函数对比 </title> <style type="text/css"> #parent{ margin:500px 500px 0 500px; position:

javascript运动系列第一篇——运动函数

× 目录 [1]简单运动 [2]定时器管理 [3]分享到效果[4]移入移出[5]运动函数[6]透明度[7]多值[8]多物体 前面的话 除了拖拽以外,运动也是javascript动画的一个基本操作.通过CSS属性transition和animation可以实现运动.但是,要进行更精细地操作,javascript运动是必不可少的.本文将详细介绍javascript运动 简单运动 让一个元素在页面中运动起来很简单,设置定时器,改变定位元素的left或top值即可 <button id="btn&

JavaScript 基础入门11 - 运动框架的封装

目录 JavaScript 运动原理 运动基础 简单运动的封装 淡入淡出 不同属性的设置 多属性值同时运动 运动回调,链式运动 缓冲运动 加入缓冲的运动框架 JavaScript 运动原理 运动基础 在JavaScript中,如何让一个页面元素动起来? 首先,我们需要了解的是,在JavaScript中如何让一个页面元素动起来. 我们先来实现一个简单的功能,当我们点击按钮之后,让一个元素动起来.并且到达500的边界之后立刻停止下来. <!DOCTYPE html> <html> &l

函数的封装

第一次写这种风格的代码,就用了上一篇的代码来做的测试,一次成功(毕竟连看都没看过具体实现过程,就在cpp上看到过几句ifndef.endif,还是挺开心的),效果不错,但稍微感觉隐藏函数的实现的细节等,貌似运行慢了点,毕竟强行include了过来,不知道是不是错觉. 具体过程如下(我用的是VC++ 6.0): 在写好的代码工作室中添加头文件,名字就按自己的代码主要实现的是什么功能来命名比较好,比如 STACK.H,一看就知道是关于栈的,然后就没然后了.具体就看头文件的内容吧: #ifndef _

js-特效部分学习-offsetParent、scrollHeight 、动画函数的封装

1. offsetParent  获取的最近的定位的父元素   offsetLeft/offsetTop  是相对于offsetParent的距离 offsetHeight/offsetWidth 获取盒子的大小   border + height + padding <style> #box { width: 200px; height: 200px; background-color: #ff0000; } #child { width: 100px; height: 100px; mar

JS里面的两种运动函数

最新学了一个新的运动函数,与最初学习的有所不同,第一个运动是根据运动速度完成运动 ,第二个则是根据运动的时间来完成运动,而且把之前的函数都进行了一些兼容处理,在这里列出了看一下: 第一种animate1 1 function animate1(obj,data,rate,fn){//运动对象,运动数据,[运动速度],[回调函数] 2 //遍历获取样式属性 3 for(var key in data){ 4 //通过闭包将key私有化 5 (function(k){ 6 /* 7 获得样式宽高等会

辛巴学院-Unity-剑英陪你零基础学c#系列(四)函数和封装

这还是草稿 ? 辛巴学院:正大光明的不务正业. 国庆长假结束了,我的心情是这样的: 你总是起不早,起不早独自一个人沉睡到天亮你无怨无悔的梦着那副本我知道你根本就不想上班你总是起不早,起不早放假总是短暂,上班太难请个病假,再睡上一天 今天我们聊c#的函数和封装 这个话题其实你有无数的资料,每个写过代码,没写过代码的人,都知道这些玩意.我也没有太多新奇的角度,先记住这一点 这不是数学,这不是数学,这不是数学. 我接触最早的语言是basic,那个时候函数还没有那么深入人心,不是visual basic