zoukankan      html  css  js  c++  java
  • js中完美运动框架

    //多个值同时变化
    function getStyle(obj, name)//函数帮助获取不在行间样式,不受非行间border,padding等得影响
    { //style只获取行间样式。offset受非行间border,padding等得影响
      if(obj.currentStyle)
      {
        return obj.currentStyle[name];
      }
      else
      {
        return getComputedStyle(obj, false)[name];
      }
    }
    //startMove(oDiv, { 400, height: 400})

    function startMove(obj, json, fnEnd)//obj运动对象   json用于存放对象的样式和值  fnEnd 用于下一步骤的链式运动
    {
      clearInterval(obj.timer);
      obj.timer=setInterval(function ()

      {
        var bStop=true; //假设:所有值都已经到了

        for(var attr in json)
        {
          var cur=0;
          if(attr=='opacity')
          {
            cur=Math.round(parseFloat(getStyle(obj, attr))*100);
          }
          else
          {
            cur=parseInt(getStyle(obj, attr));
          }

          var speed=(json[attr]-cur)/6;
          speed=speed>0?Math.ceil(speed):Math.floor(speed);

          if(cur!=json[attr])
            bStop=false;

          if(attr=='opacity')
          {
            obj.style.filter='alpha(opacity:'+(cur+speed)+')';
            obj.style.opacity=(cur+speed)/100;
          }
          else
          {
            obj.style[attr]=cur+speed+'px';
          }
        }
        if(bStop)
        {
          clearInterval(obj.timer);

          if(fnEnd)

            fnEnd();
        }
      }, 30);
    }

  • 相关阅读:
    微信小程序 功能函数 把数字1,2,3,4换成春,夏,秋,冬
    微信小程序组件 滚动导航
    微信小程序 功能函数 openid本地和网络请求
    微信小程序组件 自定义弹出框
    Log4j
    UTF-8 setup for workspace
    outlook preview setup
    eclipse 背景颜色
    sqldeveloper 英文设置
    shell spool
  • 原文地址:https://www.cnblogs.com/huan123/p/8010590.html
Copyright © 2011-2022 走看看