zoukankan      html  css  js  c++  java
  • 运动函数的封装

     
     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 }
  • 相关阅读:
    15回文相关问题
    14海量日志提取出现次数最多的IP
    13概率问题
    12胜者树和败者树

    pysnmp程序
    python 多线程 生产者消费者
    python多线程
    pysnmp使用
    PyYAML使用
  • 原文地址:https://www.cnblogs.com/zoutuan/p/11594275.html
Copyright © 2011-2022 走看看