• 运动函数封装(js)


    // 运动函数

    function starMove(obj,json,fnEnd){

      clearInterval(obj.timer);

      obj.timer  = setInterval(function(){

        var bStop = true;

        for(var name in json){

          var iTarget = json[name]; // 目标点

          if(name = 'opacity'){

              var cur = parseInt(parseFloat(getStyle(obj,name))*100);

          }else{

              var cur = parseInt(getStyle(obj,name));

          }

          var speed = (iTarget-cur)/8;

          speed = speed>0?Math.ceil(speed):Math.floor(speed);// 每30毫秒运动的距离,数值越小运动越慢

          if(name = 'opacity'){

              obj.style.opacity = (cur+speed)/100;

          }else{

              obj.style[name]= cur+speed+'px';

          }

          if(cur != iTarget){

            bStop = false;

          }

        }

        if(bStop){

          clearInterval(obj.timer);

          if(fnEnd){

            fnEnd();

          }

        }

      },30);

    }

    // 获取css样式

    function getStyle(obj,attr){

      if(obj.currentStyle){

        return obj.currentStyle[attr];

      }else{

        return obj.getComputedStyle(obj)[attr];

      }

    }

  • 相关阅读:
    [SDOI2018]战略游戏
    [AHOI2002]黑白瓷砖
    JZOJ 3281. 【GDOI2013】字母连接
    [APIO2018] Duathlon 铁人两项
    LG P4980【模板】Pólya 定理
    JZOJ 2022.01.21【提高A组】模拟
    JZOJ 2022.02.11【提高A组】模拟
    网络流二元关系 学习笔记
    JZOJ 2114. 【GDKOI2011】反恐任务
    JZOJ 2022.02.26【提高A组】模拟
  • 原文地址:https://www.cnblogs.com/ljblog/p/6829526.html
Copyright © 2020-2023  润新知