zoukankan      html  css  js  c++  java
  • 完美运动框架封装函数startMove

    function getStyle(obj, attr)
    {
    if(obj.currentStyle)
    {
    return obj.currentStyle[attr];//ie
    }
    else
    {
    return getComputedStyle(obj, false)[attr];//ff
    }
    }

    function startMove(obj, json, fn)
    {
    clearInterval(obj.timer);//开定时器之前先关掉原有的计时器
    obj.timer=setInterval(function (){
    var bStop=true; //这一次运动就结束了――所有的值都到达了
    for(var attr in json)
    {
    //1.取当前的值
    var iCur=0;

    if(attr=='opacity')
    {
    iCur=parseInt(parseFloat(getStyle(obj, attr))*100);
    }
    else
    {
    iCur=parseInt(getStyle(obj, attr));
    }

    //2.算速度
    var iSpeed=(json[attr]-iCur)/8;
    iSpeed=iSpeed>0?Math.ceil(iSpeed):Math.floor(iSpeed);

    //3.检测停止
    if(iCur!=json[attr])
    {
    bStop=false;
    }

    if(attr=='opacity')
    {
    obj.style.filter='alpha(opacity:'+(iCur+iSpeed)+')';
    obj.style.opacity=(iCur+iSpeed)/100;
    }
    else
    {
    obj.style[attr]=iCur+iSpeed+'px';
    }
    }

    if(bStop)
    {
    clearInterval(obj.timer);

    if(fn)
    {
    fn();
    }
    }
    }, 30)
    }

  • 相关阅读:
    BZOJ5104 二次剩余板子
    BZOJ5329 [Sdoi2018]战略游戏 圆方树+虚树
    BZOJ1095 动态点分治
    BZOJ3992: [SDOI2015]序列统计
    kd-tree板子
    thusc2018翻车记
    BZOJ5336 DP套DP
    BZOJ4316 仙人掌DP
    问题 F: 最小花费
    问题 C: 热浪
  • 原文地址:https://www.cnblogs.com/studyh5/p/9674429.html
Copyright © 2011-2022 走看看