本篇文章为大家展示了利用原生JavaScript制作一个缓动动画,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
利用定时器来控制元素的offsetLeft的值,offsetLeft = 开始位置 + (最终位置 - 开始位置)* 缓动系数
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> * { margin: 0; padding: 0; border: none; list-style: none; } body { background-color: pink; } #nav { width: 900px; height: 63px; background: url("images/doubleOne.png") no-repeat right center #fff; margin: 0 auto; margin-top: 50px; border-radius: 5px; position: relative; } #nav ul { line-height: 70px; } #nav ul li { float: left; height: 63px; width: 88px; text-align: center; cursor: pointer; position: relative; } #t_mail { width: 88px; height: 63px; background: url("images/tMall.png") no-repeat; position: absolute; } </style> </head> <body> <nav id="nav"> <span id="t_mail"></span> <ul> <li>双11狂欢</li> <li>服装会场</li> <li>数码家电</li> <li>母婴童装</li> <li>手机会场</li> <li>美妆会场</li> <li>家居建材</li> <li>进口会场</li> <li>飞猪旅行</li> </ul> </nav> <script> window.onload = function () { var nav = $('nav'); var t_mall = nav.children[0]; var ul = nav.children[1]; var allLis = ul.children; var beginX = 0; for (var i = 0; i < allLis.length; i++) { var li = allLis[i]; li.onmouseover = function () { end = this.offsetLeft; } li.onmousedown = function () { beginX = this.offsetLeft; } li.onmouseout = function () { end = beginX; } } var begin = 0, end = 0; setInterval(function () { begin = begin + (end - begin) / 10; t_mall.style.left = begin + 'px'; }, 10) function $(id) { return typeof id ? document.getElementById(id) : null; } } </script> </body> </html>
上述内容就是利用原生JavaScript制作一个缓动动画,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。