javascript链式运动框架案例
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript链式运动框架案例,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1543字,纯文字阅读大概需要3分钟。
内容图文
![javascript链式运动框架案例](/upload/InfoBanner/zyjiaocheng/738/a174540cd11245edb99d1b92aa2b279a.jpg)
javascript链式运动框架
任务描述:
当鼠标移入红色矩形时,该矩形宽度逐渐增加至400px,之后高度逐渐增加至400px;
当鼠标移出红色矩形时,该矩形高度逐渐减小至200px,之后宽度逐渐减小至200px。
效果图:
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>JS小案例:多物体变宽</title> <style> body { height: 2000px; margin: 0px; } div { width: 200px; height: 200px; background: red; margin: 10px; } </style> <script> window.onload = function () { //补充代码 } </script> </head> <body> <div id='div1'></div> </body> </html>
参考代码:
oDiv1 = document.getElementById('div1'); oDiv1.onmouseover = function () { startMove(oDiv1, 'width', 400, function () { startMove(oDiv1, 'height', 400) }); } oDiv1.onmouseout = function () { startMove(oDiv1, 'height', 200, function () { startMove(oDiv1, 'width', 200) }); } function getStyle(obj, name) { if (obj.currentStyle) { return obj.currentStyle[name]; } else { return getComputedStyle(obj, null)[name]; } } function startMove(obj, attr, iTarget, fnEnd) { clearInterval(obj.timer); obj.timer = setInterval(function () { var cur = 0; if (attr == 'opacity') { //Math.round()四舍五入取整主要是针对低浮点数的精度问题。 cur = Math.round(parseFloat(getStyle(obj, attr)) * 100); } else { cur = parseInt(getStyle(obj, attr)); } var speed = (iTarget - cur) / 6; speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed); if (cur == iTarget) { clearInterval(obj.timer); if (fnEnd) { fnEnd(); } } else { if (attr == 'opacity') { obj.style.opacity = (cur + speed) / 100; obj.style.filter = 'alpha(opacity=' + (cur + speed) + ")"; } else { obj.style[attr] = cur + speed + 'px'; } } }, 30) }
内容总结
以上是互联网集市为您收集整理的javascript链式运动框架案例全部内容,希望文章能够帮你解决javascript链式运动框架案例所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。