原生JS实现各种运动之匀速运动

 更新时间:2021年08月24日 08:36:30   作者:aiguangyuan  
这篇文章主要为大家详细介绍了原生JS实现各种运动之匀速运动,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文给大家分享一个用原生JS实现的匀速运动,效果如下:

需要注意的是,这种运动效果在实际的开发中用的比较少,用的更多的还是弹性运动和缓冲运动,以下是代码实现,欢迎大家复制粘贴及吐槽。

<!DOCTYPE html>
<html>
 
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>原生JS实现各种运动之匀速运动</title>
    <style>
        #div1 {
            width: 100px;
            height: 100px;
            position: absolute;
            background: red;
            left: 0;
            top: 50px;
        }
 
        span {
            width: 1px;
            height: 300px;
            background: black;
            position: absolute;
            left: 300px;
            top: 0;
        }
 
        ;
    </style>
    <script type="text/javascript">
 
        var timer = null;
        function startMove(iTarget) {
 
            var oDiv = document.getElementById('div1');
 
            clearInterval(timer);
            timer = setInterval(function () {
                var iSpeed = 0;
 
                if (oDiv.offsetLeft < iTarget) {
 
                    iSpeed = 7;
 
                } else {
 
                    iSpeed = -7;
                }
                //是否到达终点
                if (Math.abs(oDiv.offsetLeft - iTarget) < 7) {
                    //到达终点
                    clearInterval(timer);
 
                    oDiv.style.left = iTarget + 'px';
                } else {
                    //到达之前
                    oDiv.style.left = oDiv.offsetLeft + iSpeed + 'px';
                }
            }, 30);
        }
    </script>
</head>
 
<body>
    <input type="button" value="开始运动" onclick="startMove(300)" />
    <div id="div1"></div>
    <span></span>
</body>
 
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • ES6字符串和数值新增方法总结

    ES6字符串和数值新增方法总结

    ES6为js新增了很多方法,包括遍历、查询、替换等等,下面这篇文章主要给大家介绍了关于ES6字符串和数值新增方法的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-09-09
  • 问题解析有JSDoc还需要TypeScript吗

    问题解析有JSDoc还需要TypeScript吗

    这篇文章主要介绍了有JSDoc还需要TypeScript的问题示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • js实现tab栏切换效果

    js实现tab栏切换效果

    这篇文章主要为大家详细介绍了js实现tab栏切换效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-08-08
  • js实现图片漂浮效果的方法

    js实现图片漂浮效果的方法

    这篇文章主要介绍了js实现图片漂浮效果的方法,实例分析了javascript实现图片漂浮的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • JavaScript相等运算符的九条规则示例详解

    JavaScript相等运算符的九条规则示例详解

    这篇文章主要给大家介绍了关于JavaScript相等运算符的九条规则,文中通过示例代码介绍的非常详细,对大家的学习或者使用JavaScript具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-10-10
  • JavaScript 对象模型 执行模型

    JavaScript 对象模型 执行模型

    简单数值类型: 有Undefined, Null, Boolean, Number和String。注意,描述中的英文单词在这里仅指数据类型的名称,并不特指JS的全局对象N an, Boolean, Number, String等,它们在概念上的区别是比较大的。
    2010-10-10
  • JavaScript 通过模式匹配实现重载

    JavaScript 通过模式匹配实现重载

    昨天rank同学向我提出一个问题,在实际应用中有些接口需要提供类似于函数重载的功能,以方便开发者组织代码逻辑,简化使用者调用。
    2010-08-08
  • IE及IE6浏览器中判断JS文件加载成功失败的方法

    IE及IE6浏览器中判断JS文件加载成功失败的方法

    这篇文章主要介绍了IE及IE6浏览器中判断JS文件加载成功失败的方法,本文使用vbscript来解决这个问题,需要的朋友可以参考下
    2015-02-02
  • js检测离开或刷新页面时表单数据是否更改的方法

    js检测离开或刷新页面时表单数据是否更改的方法

    这篇文章主要介绍了js检测离开或刷新页面时表单数据是否更改的方法,涉及javascript表单操作及事件响应的相关技巧,需要的朋友可以参考下
    2016-08-08
  • 手把手带你入门微信小程序新框架Kbone的使用

    手把手带你入门微信小程序新框架Kbone的使用

    这篇文章主要介绍了手把手带你入门微信小程序新框架Kbone的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02

最新评论