JS实现多物体缓冲运动实例代码

 更新时间:2013年11月29日 16:49:38   作者:  
这篇文章主要介绍了JS实现多物体缓冲运动实例代码,有需要的朋友可以参考一下

效果:

思路:

利用setInterval计时器进行运动,offsetWidth实现宽度的变动,在用onmouseover将终点和所选中的DIV放入参数再进行缓冲运动。

代码:

复制代码 代码如下:

<head runat="server">
    <title></title>
    <style type="text/css">
        div
        {
            width: 100px;
            height: 50px;
            background: #0000FF;
            margin: 10px;
        }
    </style>
    <script type="text/javascript">
        window.onload = function () {
            var oDiv = document.getElementsByTagName('div');
            for (var i = 0; i < oDiv.length; i++) {
                oDiv[i].timer = null;           //给买个DIV做个标记,用以关闭相应DIV的定时器
                oDiv[i].onmouseover = function () {
                    move(this, 400);        //给定时器输出参数
                }
                oDiv[i].onmouseout = function () {
                    move(this, 100);
                }
            }
        };
        function move(div, end) {
            clearInterval(div.timer);
            div.timer = setInterval(function () {
                var speed = (end - div.offsetWidth) / 5;        //(终点-要走的宽度)/缩放系数=DIV移动的速度
                speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed);   //小数取整,也就是进位取整
                if (div.offsetWidth == end) {       //当到达终点时关闭计时器
                    clearInterval(div.timer);
                }
                else {
                    div.style.width = div.offsetWidth + speed + 'px';   //移动DIV的宽度
                }
            }, 30)
        }
    </script>
</head>
<body>
    <div>
    </div>
    <div>
    </div>
    <div>
    </div>
</body>

相关文章

  • 使用clipboard.js库实现复制剪切功能

    使用clipboard.js库实现复制剪切功能

    这篇文章介绍了clipboard.js实现复制功能的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • JavaScript实现简易计算器小功能

    JavaScript实现简易计算器小功能

    这篇文章主要为大家详细介绍了JavaScript实现简易计算器小功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-10-10
  • javascript实现连续赋值

    javascript实现连续赋值

    javascript如何实现连续赋值呢?下面小编就给大家介绍下用javascript实现连续赋值,有需要的朋友可以参考下
    2015-08-08
  • 微信小程序loading组件显示载入动画用法示例【附源码下载】

    微信小程序loading组件显示载入动画用法示例【附源码下载】

    这篇文章主要介绍了微信小程序loading组件显示载入动画用法,结合实例形式分析了loading组件显示载入动画的相关事件操作与属性设置技巧,并附带源码供读者下载参考,需要的朋友可以参考下
    2017-12-12
  • 一文详解JavaScript中的'BigInt'用法

    一文详解JavaScript中的'BigInt'用法

    BigInt是ES2020中引入的新的原始数据类型。它允许程序员使用更大的整数值,以匹配需要处理的数据集。在这篇博客中,我们将探讨BigInt的用法和它与其他相似方法的区别,感兴趣的可以了解一下
    2023-04-04
  • 微信小程序订阅消息(java后端实现)开发

    微信小程序订阅消息(java后端实现)开发

    这篇文章主要介绍了微信小程序订阅消息(java后端实现)开发,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • JavaScript实现弹出式可拖动登录框

    JavaScript实现弹出式可拖动登录框

    这篇文章主要为大家详细介绍了JavaScript实现弹出式可拖动登录框,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • 理解javascript定时器中的单线程

    理解javascript定时器中的单线程

    这篇文章主要帮助大家理解javascript定时器中的单线程,感兴趣的小伙伴们可以参考一下
    2016-02-02
  • javascript执行上下文、变量对象实例分析

    javascript执行上下文、变量对象实例分析

    这篇文章主要介绍了javascript执行上下文、变量对象,结合实例形式分析了javascript执行上下文、变量对象相关概念、原理、用法与操作注意事项,需要的朋友可以参考下
    2020-04-04
  • ES6中箭头函数的定义与调用方式详解

    ES6中箭头函数的定义与调用方式详解

    这篇文章主要给大家介绍了关于ES6中箭头函数的定义与调用方式的相关资料,文中通过示例代码介绍的非常详细,相信会对大家的学习或者工作带来一定的帮助,需要的朋友们下面来一起看看吧。
    2017-06-06

最新评论