首页 > 代码库 > 接近完美运动框架
接近完美运动框架
//接近完美运动框架,支持同一对象属性同时进行运动。运动完成后执行方法function goChange(obj, josn, fn) {//obj:传入对象实参;josn:传入{属性/属性值,...}的josn串;fn传入需要在执行完运动后被执行的函数 clearInterval(obj.timer); obj.timer = setInterval(function() { var flag = true; for (var attr in josn) { var iCour=0; if (attr==‘opacity‘) { iCour=Math.round(parseFloat(getAttr(obj, attr))*100); } else{ iCour = parseInt(getAttr(obj, attr)); } var speed = (josn[attr] - iCour) / 10; speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed); if (iCour != josn[attr]) { flag = false; // clearInterval(obj.timer); } if (attr==‘opacity‘) { obj.style[attr] = (iCour + speed)/100; } else{ obj.style[attr] = iCour + speed + ‘px‘; } } if (flag) { clearInterval(obj.timer); if (fn) { fn(); } } }, 30);}//获取属性function getAttr(obj, attr) { return obj.currentStyle ? obj.currentStyle[attr] : document.defaultView.getComputedStyle(obj, false)[attr];}
接近完美运动框架
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。