今天做的是匀速情况下div的运动。首先开始之前先了解运动的原理

A------------>>B
A移动到B 这段距离是总距离    用一个变量保存下来:var d
A移动到B 移动的总次数      用一个变量保存下来:var c
A移动到B 每次移动的距离     用一个变量保存下来:var s

function move(obj,name,target,dur,fn){
var timer; //控制定时器
var c=parseInt(dur/); //移动的总步数
var start=parseFloat(getStyle(obj,name)); //获取当前元素样式的属性值
var d=target-start; //移动的总距离
var s=d/c; //每次移动的距离
var n=; //初始化步数
timer=setInterval(function(){
n++;
var cur=statrt+n*s;
obj.style[name]=cur+'px';
//[]语法是使用参数的方法
// .语法在这里是不可以用的
if(n==c){//移动结束的时候
clearInterval(time);//清除定时器
fn && fn();//有方法的时候调用方法,
//没有的时候什么都不做。
};
},); // 定时器里设定时间都是固定的 但是这些时间都是有误差的
//30ms是定时器中误差最小的 ±3 并且运行起来感觉是最好的
}

调用封装的方法

var oDiv=document.getElementById("div");
oDiv.onclick=function(){
move(oDiv,'left',,) //最后一个回调函数可以不传
};
function getStyle(obj,name){
if(obj.currentStyle){ //有当前样式的时候
return obj.currentStyle[name];  //返回当前的样式自带单位 只兼容chrome firefox
}else{
return getComputedStyle(obj,false)[name];  //一样的 只兼容 IE
};
};

这次的只是匀速运动的。下次分享变速的  哈哈~

关于tween.js 封装的方法的更多相关文章

  1. js封装的方法

    1.JS封装就是尽量把使用的方式简单化,内部逻辑和使用解耦.通俗的说就是使用的时候只需要知道参数和返回值,其他条件尽量不要使用人员进行设置. 2.JS封装的方法有函数方式.对象的方式.闭包的方式. 举 ...

  2. 原生JS封装ajax方法

    http://blog.sucaijiayuan.com/article/89 jquery框架的ajax方法固然好用,但是假如某天我们的项目不能引入jquery或项目需求很简单,没有很多交互功能,只 ...

  3. js 封装trim()方法,去掉空格

    <script> //定义一个对象 - 名字是$ var $$ = function() {}; //原型 $$.prototype = { $id:function(id) { retu ...

  4. 【实践】js封装 jq siblings 方法

    思路: 1.获取调用元素的父元素下的所有子元素(即它的所有同辈元素和调用元素本身) 2.遍历调用元素父元素下的所有子元素 除调用元素外的所有元素保存在一个数组里面 代码如下: <!DOCTYPE ...

  5. 利用tween.js算法生成缓动效果

    在讲tween类之前,不得不提的是贝塞尔曲线了.首先,贝塞尔曲线是指依据四个位置任意的点坐标绘制出的一条光滑曲线.它在作图工具或动画中中运用得比较多,例如PS中的钢笔工具,firework中的画笔等等 ...

  6. 基于原生JS封装数组原型上的sort方法

    基于原生JS封装数组原型上的sort方法 最近学习了数组的原型上内置方法的封装,加强了用原生JS封装方法的能力,也进一步理解数组方法封装的过程,实现的功能.虽然没有深入底层,了解源码.以下解法都是基于 ...

  7. 原生js封装的一些jquery方法

    用js封装一些常用的jquery方法 记录一下 hasClass:判断是否有class function hasClass(ele, cls) { if (!ele || !cls) return f ...

  8. 原生JS封装Ajax插件(同域&&jsonp跨域)

    抛出一个问题,其实所谓的熟悉原生JS,怎样的程度才是熟悉呢? 最近都在做原生JS熟悉的练习... 用原生Js封装了一个Ajax插件,引入一般的项目,传传数据,感觉还是可行的...简单说说思路,如有不正 ...

  9. tween.js

     简要教程 tween.js是一款可生成平滑动画效果的js动画库.相关的动画库插件还有:snabbt.js 强大的jQuery动画库插件和Tweene-超级强大的jQuery动画代理插件. tween ...

随机推荐

  1. 通过Servlet实现汉字验证码

    package com; import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.Gra ...

  2. POJ1019-Number Sequence数学

    题目链接:http://poj.org/problem?id=1019 题目大意: 题目的意思很清楚了,就是把数字的每一位都当成是单个的字母来对待,然后求第i位的数是哪一个.(1<=i<= ...

  3. java多线程面试总结

    一:基本知识点 1.1线程与进程区别: 1.进程是资源分配的最小单位,线程是CPU调度的最小单位 2.一个进程由一个或多个线程组成 3.进程之间相互独立,每个进程都有独立的代码和数据空间,但同一进程下 ...

  4. springcloud(五):熔断监控Hystrix Dashboard和Turbine

    Hystrix-dashboard是一款针对Hystrix进行实时监控的工具,通过Hystrix Dashboard我们可以在直观地看到各Hystrix Command的请求响应时间, 请求成功率等数 ...

  5. 局域网内部署 Docker Registry

    在局域网内部署 Docker Registry 可以极大的提升平时 pull.push 镜像的速度,从而缩短自动化操作的过程.同时也可以缓解带宽不足的问题,真是一举多得.本文将从创建单机的 Docke ...

  6. SVN版本控制系统搭建(+结合http服务)

    .zise { background: #CCCCFF; color: white; text-align: center } .fense { color: #FFCCCC; text-align: ...

  7. DDD领域驱动之干货(三)完结篇!

    首先这里发一下结构图,因为是重写的,但是代码都是一样所有如下: 这里我先说一下看了大部分的DDD文章都是采用的WCF做服务,这里呢我用的是webapi做服务,WCF和WEBAPI的区别可以去百度下. ...

  8. Java 命令后台运行jar包

    nohup  java -jar XX.jar >temp.text & nohup 客户端关闭,后台继续运行 & 客户端关闭,后台停止运行 temp.text 是存控制台文件 ...

  9. 2016.02.01日,UdoOS系统项目正式开通了

    2016.02.01日,UdoOS系统项目正式开通了,源代码即将开放 Copyright (c) 2016

  10. C# 通过 oledb 操作Excel

    public string GetConnectionString()         {             Dictionary<string, string> props = n ...