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


Posted in Javascript onNovember 29, 2013

效果:

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>
Javascript 相关文章推荐
DWR Ext 加载数据
Mar 22 Javascript
基于jQuery的前端数据通用验证库
Aug 08 Javascript
jquery创建一个新的节点对象(自定义结构/内容)的好方法
Jan 21 Javascript
jQuery ajax dataType值为text json探索分享
Sep 23 Javascript
javascript获取元素偏移量的方法有哪些
Jun 24 Javascript
js实现可得到不同颜色值的颜色选择器实例
Feb 28 Javascript
[原创]Javascript 实现广告后加载 可加载百度谷歌联盟广告
May 11 Javascript
vue中如何实现变量和字符串拼接
Jun 19 Javascript
详谈js模块化规范
Jul 07 Javascript
JS实现520 表白简单代码
May 21 Javascript
基于JavaScript实现控制下拉列表
May 08 Javascript
vue3使用vuedraggable实现拖拽功能
Apr 06 Vue.js
JS实现匀速运动的代码实例
Nov 29 #Javascript
JS实现侧悬浮浮动实例代码
Nov 29 #Javascript
js模拟点击以提交表单为例兼容主流浏览器
Nov 29 #Javascript
JS实现日期加减的方法
Nov 29 #Javascript
js弹出层永远居中实现思路及代码
Nov 29 #Javascript
根据表格中的某一列进行排序的javascript代码
Nov 29 #Javascript
JS取文本框中最小值的简单实例
Nov 29 #Javascript
You might like
php 模拟 asp.net webFrom 按钮提交事件的思路及代码
2013/12/02 PHP
php中Ioc(控制反转)和Di(依赖注入)
2017/05/07 PHP
phpmyadmin在宝塔面板里进不去的解决方案
2020/07/06 PHP
JQuery 常用方法基础教程
2009/02/06 Javascript
JQuery autocomplete 使用手册
2010/04/01 Javascript
js中arguments的用法(实例讲解)
2013/11/30 Javascript
js面向对象之静态方法和静态属性实例分析
2015/01/10 Javascript
解决JS无法调用Controller问题的方法
2015/12/31 Javascript
GitHub上一些实用的JavaScript的文件压缩解压缩库推荐
2016/03/13 Javascript
Bootstrap3学习笔记(三)之表格
2016/05/20 Javascript
Javascript点击按钮随机改变数字与其颜色
2016/09/01 Javascript
ES6新特性八:async函数用法实例详解
2017/04/21 Javascript
JS中精巧的自动柯里化实现方法
2017/12/12 Javascript
使用 Node.js 开发资讯爬虫流程
2018/01/07 Javascript
vue配置font-awesome5的方法步骤
2019/01/27 Javascript
js前端面试之同步与异步问题详解
2019/04/03 Javascript
详解VUE项目中安装和使用vant组件
2019/04/28 Javascript
15分钟上手vue3.0(小结)
2020/05/20 Javascript
详解Webpack4多页应用打包方案
2020/07/16 Javascript
11个Javascript小技巧帮你提升代码质量(小结)
2020/12/28 Javascript
python下paramiko模块实现ssh连接登录Linux服务器
2015/06/03 Python
Windows下Python2与Python3两个版本共存的方法详解
2017/02/12 Python
Python操作mongodb数据库的方法详解
2018/12/08 Python
python多线程扫描端口(线程池)
2019/09/04 Python
Python实现图像去噪方式(中值去噪和均值去噪)
2019/12/18 Python
Python操作redis和mongoDB的方法
2019/12/19 Python
俄罗斯购买剧院和演唱会门票网站:Parter.ru
2019/11/09 全球购物
给水工程专业毕业生自荐信
2014/01/28 职场文书
上课打牌的检讨书
2014/02/15 职场文书
营销学习心得体会
2014/09/12 职场文书
党员个人批评与自我批评
2014/10/14 职场文书
活动主持人开场白
2015/05/28 职场文书
2016计算机专业毕业生自荐信
2016/01/28 职场文书
Java中多线程下载图片并压缩能提高效率吗
2021/07/01 Java/Android
angular异步验证器防抖实例详解
2022/03/31 Javascript
CentOS7安装GlusterFS集群以及相关配置
2022/04/12 Servers