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)
    }

  • 相关阅读:
    JQ分页练习
    Dom1
    JQ轮播图
    Dom操作
    DYR
    jQ点击事件
    [z]vc boost安装
    [z] .net与java建立WebService再互相调用
    [z]
    git常用命令二
  • 原文地址:https://www.cnblogs.com/studyh5/p/9674429.html
Copyright © 2011-2022 走看看