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 相关文章推荐
使用JQuery进行跨域请求
Jan 25 Javascript
得到jQuery detach()后节点中的某个值实现代码
Feb 05 Javascript
ExtJs动态生成treepanel的Json格式
Jul 19 Javascript
利用Angularjs和原生JS分别实现动态效果的输入框
Sep 01 Javascript
浅谈使用splice函数对数组中的元素进行删除时的注意事项
Dec 04 Javascript
JS对象深度克隆实例分析
Mar 16 Javascript
使用Xcache缓存器加速PHP网站的配置方法
Apr 22 Javascript
jQuery EasyUI 选项卡面板tabs的使用实例讲解
Dec 25 jQuery
你可能不知道的CORS跨域资源共享
Mar 13 Javascript
vux-scroller实现移动端上拉加载功能过程解析
Oct 08 Javascript
微信小程序 自定义弹窗实现过程(附代码)
Dec 05 Javascript
JavaScript Image对象实现原理实例解析
Aug 26 Javascript
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
Yii框架 session 数据库存储操作方法示例
2019/11/18 PHP
php设计模式之备忘模式分析【星际争霸游戏案例】
2020/03/24 PHP
Jquery 获取checkbox的checked问题
2011/11/16 Javascript
公共js在页面底部加载的注意事项介绍
2013/07/18 Javascript
阻止事件(取消浏览器对事件的默认行为并阻止其传播)
2013/11/03 Javascript
jquery easyui combox一些实用的小方法
2013/12/25 Javascript
JavaScript实现添加及删除事件的方法小结
2015/08/04 Javascript
浅谈jquery的map()和each()方法
2016/06/12 Javascript
JS中使用DOM来控制HTML元素
2016/07/31 Javascript
javascript另类方法实现htmlencode()与htmldecode()函数实例分析
2016/11/17 Javascript
利用vue + element实现表格分页和前端搜索的方法
2017/12/25 Javascript
vue异步加载高德地图的实现
2018/06/19 Javascript
vue移动端html5页面根据屏幕适配的四种解决方法
2018/10/19 Javascript
JavaScript实现邮箱后缀提示功能的示例代码
2018/12/13 Javascript
VSCode插件安装完成后的配置(常用配置)
2020/08/24 Javascript
Python中函数的多种格式和使用实例及小技巧
2015/04/13 Python
python判断字符串编码的简单实现方法(使用chardet)
2016/07/01 Python
python3+PyQt5图形项的自定义和交互 python3实现page Designer应用程序
2020/07/20 Python
Pycharm2017版本设置启动时默认自动打开项目的方法
2018/10/29 Python
python实现切割url得到域名、协议、主机名等各个字段的例子
2019/07/25 Python
使用python实现数组、链表、队列、栈的方法
2019/12/20 Python
Python类继承和多态原理解析
2020/02/05 Python
Python文件时间操作步骤代码详解
2020/04/13 Python
在Windows上安装和配置 Jupyter Lab 作为桌面级应用程序教程
2020/04/22 Python
Django CBV模型源码运行流程详解
2020/08/17 Python
谷歌浏览器小字体处理方案即12px以下字体
2013/12/17 HTML / CSS
鼠标滚轮事件和Mac触控板双指事件
2019/12/23 HTML / CSS
西班牙汉普顿小姐:购买帆布鞋和太阳镜
2016/10/23 全球购物
印度领先的眼镜电子商务网站:Lenskart
2019/12/16 全球购物
25道Java面试题集合
2013/05/21 面试题
教育课题研究自我鉴定范文
2013/12/28 职场文书
小班重阳节活动方案
2014/02/08 职场文书
庆七一宣传标语
2014/10/08 职场文书
2014年食堂工作总结
2014/11/20 职场文书
用Python将库打包发布到pypi
2021/04/13 Python
SQL Server查询某个字段在哪些表中存在
2022/03/03 SQL Server