• 缓动函数封装 详见




    function animate(element,strrs,fn){
    // 判断是否开启定时器 如果有清空定时器
    if(element.timeId){
    clearInterval(element.timeId);
    }
    // 开启定时器
    element.timeId =setInterval(function(){
    //设置标记记录是否都达到目标
    var flag =true;
    //遍历对象的数组 改变元素的属性值
    for(var strr in strrs ){
    //判断属性是否为zIndex
    if(strr ==="zIndex"){
    element.style.zIndex = strrs[strr];
    }else if(strr ==="opacity"){
    //判断属性是否为opacity
    //获取当前opacity的属性值 转化为number并检测能力
    var current=parseFloat(getStyle(element,strr))||0;
    current*=100;
    //让当前值乘100保证是个整数
    //定义步长为目标-当前值的10分之1 步长会越来越小 当不为整数时要取整
    var step =(strrs[strr]*100-current)/10;
    step = step>0?Math.ceil(step):Math.floor(step);
    //改变属性值
    current+=step;
    element.style[strr]= current/100;
    //兼容ie8
    element.style.filter="alpha(opacity="+current+")";
    if(step!==0){//判断是否已到达目标
    flag =false;
    }

    }else{
    //获取当前属性的属性值 转化为number并检测能力
    var current=parseInt(getStyle(element,strr))||0;
    //定义步长为目标-当前值的10分之1 步长会越来越小 当不为整数时要取整
    var step =(strrs[strr]-current)/10;
    step = step>0?Math.ceil(step):Math.floor(step);
    //改变属性值
    current+=step;
    element.style[strr]= current + "px";
    if(step!==0){//判断是否已到达目标
    flag =false;
    }
    }

    }
    if(flag){//判断是否都已到达目标 达到则清除计时器
    clearInterval(element.timeId);
    if(fn){//判断是否有回调函数 有则调用
    fn();
    }
    }

    },20)
    }
  • 相关阅读:
    Tomcat服务器原理详解
    junit入门
    lombok
    java 运行指定类的main函数
    席位分配问题——惯例Q值法和d'hondt法的MATLAB程序
    5.2 calendar--通用日期的相关函数(3)
    [笔记]软件体系结构(1)--模式初印象
    hdu 1003
    linux虚拟机上挂载U盘
    Android中Java与web通信
  • 原文地址:https://www.cnblogs.com/wjl3898/p/5771383.html
Copyright © 2020-2023  润新知