• 技术文章 >web前端 >js教程

    JS封装运动框架的一种写法

    一个新手一个新手2017-10-13 09:15:29原创845
    function animate(obj, json, interval, sp, fn) {
      clearInterval(obj.timer);
      //var k = 0;
      //var j = 0;
      function getStyle(obj, arr) {
        if(obj.currentStyle){
          return obj.currentStyle[arr];  //针对ie
        } else {
          return document.defaultView.getComputedStyle(obj, null)[arr]; 
        }
      }
      obj.timer = setInterval(function(){
        //j ++;
        var flag = true;
        for(var arr in json) {
          var icur = 0;
          //k++;
          if(arr == "opacity") {
            icur = Math.round(parseFloat(getStyle(obj, arr))*100);
          } else {
            icur = parseInt(getStyle(obj, arr));
          }
          var speed = (json[arr] - icur) * sp;
          speed = speed > 0 ? Math.ceil(speed): Math.floor(speed);
          if(icur != json[arr]){
            flag = false;
          } 
          if(arr == "opacity"){
            obj.style.filter = "alpha(opacity : '+(icur + speed)+' )";
            obj.style.opacity = (icur + speed)/100;
          }else {
            obj.style[arr] = icur + speed + "px";
          }
          //console.log(j + "," + arr +":"+ flag);
        }
        if(flag){
          clearInterval(obj.timer);
          //console.log(j + ":" + flag); 
          //console.log("k = " + k);
          //console.log("j = " + j);
          //console.log("DONE");
          if(fn){
            fn();
          }
        }
      },interval);
    }

    以上就是JS封装运动框架的一种写法的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:javascript 写法 一种
    上一篇:JavaScript中Date对象的小结 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 抖音很火的图片选择题特效,用前端快速实现!• 一文聊聊node后端路由自动加载• 一文详解Node中express的身份认证• 一文浅析node中如何使用消息队列• 【翻译】使用自定义hooks对React组件进行重构
    1/1

    PHP中文网