javascript实现网页中涉及的简易运动(改变宽高、透明度、位置)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript实现网页中涉及的简易运动(改变宽高、透明度、位置),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2028字,纯文字阅读大概需要3分钟。
内容图文
![javascript实现网页中涉及的简易运动(改变宽高、透明度、位置)](/upload/InfoBanner/zyjiaocheng/356/37877eb4900146afb14db20c8382d593.jpg)
平时工作中写网页涉及的运动往往都非常简单,比如改变宽高,透明度,位置,是最常用的几种形式,为了省事,整合了下,于是就有了下面这个东东:
兼容:IE系列、chrome、firefox、opera、Safari、360
/* javascript简易运动 Move.action(dom对象,json格式属性值对,缓动参考值,回调方法) 示例: var box = document.getElementById('Ele'); Move.action(box,{width:500,height:200,left:200,top:100,marginLeft:10,opacity:.5},5,function(){ console.log('end'); }); */ var Move = { version: '1.5', //判断是否空对象 isEmptyObject: function(obj) { for (var attr in obj) { return false; } return true; }, //取CSS样式值 getStyle: function(obj, attr) { if (obj.currentStyle) { //IE return obj.currentStyle[attr]; } else { return getComputedStyle(obj, null)[attr]; } }, //运动 action: function(obj, json, sv, callback) { _this = this; //obj是否为空 if (_this.isEmptyObject(obj)) { return false; } //运动开始 clearInterval(obj.timer); obj.timer = setInterval(function() { var isAllCompleted = true, //假设全部运动都完成了 speed, //速度 attrValue, //当前值 targetV; //目标值 for (attr in json) { attrValue = _this.getStyle(obj, attr); switch (attr) { case 'opacity': attrValue = Math.round((isNaN(parseFloat(attrValue)) ? 1 : parseFloat(attrValue)) * 100); speed = (json[attr] * 100 - attrValue) / (sv || 4); targetV = json[attr] * 100; break; default: attrValue = isNaN(parseInt(attrValue)) ? 0 : parseInt(attrValue); speed = (json[attr] - attrValue) / (sv || 4); targetV = json[attr]; } speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed); //如果循环过程中存在尚未结束的运动,isAllCompleted为假 if (attrValue != targetV) { isAllCompleted = false; } switch (attr) { case 'opacity': { obj.style.filter = "alpha(opacity=" + (attrValue + speed) + ")"; obj.style.opacity = (attrValue + speed) / 100; }; break; default: obj.style[attr] = attrValue + speed + 'px'; } } //所有循环结束后,只有当全部运动结束后(isAllCompleted=true)时才关闭定时器 if (isAllCompleted) { clearInterval(obj.timer); if (typeof callback === 'function') { callback(); } } }, 30); } };
以上就是描述了javascript实现网页中涉及的简易运动的方法,希望对大家实现javascript简易运动有所启发。
内容总结
以上是互联网集市为您收集整理的javascript实现网页中涉及的简易运动(改变宽高、透明度、位置)全部内容,希望文章能够帮你解决javascript实现网页中涉及的简易运动(改变宽高、透明度、位置)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。