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 相关文章推荐
获取URL地址中的文件名和参数的javascript代码
Sep 02 Javascript
19个很有用的 JavaScript库推荐
Jun 27 Javascript
jQuery获取访问者IP地址的方法(基于新浪API与QQ查询接口)
May 25 Javascript
基于jQuery下拉选择框插件支持单选多选功能代码
Jun 07 Javascript
jQuery EasyUI右键菜单实现关闭标签/选项卡
Oct 10 Javascript
Vue.js创建Calendar日历效果
Nov 03 Javascript
微信小程序 tabs选项卡效果的实现
Jan 05 Javascript
如何理解Vue的.sync修饰符的使用
Aug 17 Javascript
vue+layui实现select动态加载后台数据的例子
Sep 20 Javascript
vant自定义二级菜单操作
Nov 02 Javascript
JavaScript实现网页动态生成表格
Nov 25 Javascript
html5中sharedWorker实现多页面通信的示例代码
May 07 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
给多个地址发邮件的类
2006/10/09 PHP
dedecms系统的广告设置代码 基础版本
2010/04/09 PHP
解析php取整的几种方式
2013/06/25 PHP
php与java通过socket通信的实现代码
2013/10/21 PHP
在AngularJS中如何使用谷歌地图把当前位置显示出来
2016/01/25 Javascript
Dojo获取下拉框的文本和值实例代码
2016/05/27 Javascript
jQuery遍历json的方法(推荐)
2016/06/12 Javascript
一个超简单的jQuery回调函数例子(分享)
2016/08/08 Javascript
js实现固定宽高滑动轮播图效果
2017/01/13 Javascript
安装Node.js并启动本地服务的操作教程
2018/05/12 Javascript
echarts实现地图定时切换散点与多图表级联联动详解
2018/08/07 Javascript
JS前端知识点总结之页面加载事件,数组操作,DOM节点操作,循环和分支
2019/07/04 Javascript
JavaScript实现轮播图效果代码实例
2019/09/28 Javascript
在vue+element ui框架里实现lodash的debounce防抖
2019/11/13 Javascript
详解JavaScript执行模型
2020/11/16 Javascript
本地文件上传到七牛云服务器示例(七牛云存储)
2014/01/11 Python
在Python程序中实现分布式进程的教程
2015/04/28 Python
Python实现多线程抓取网页功能实例详解
2017/06/08 Python
python 实现上传图片并预览的3种方法(推荐)
2017/07/14 Python
Python微信库:itchat的用法详解
2017/08/14 Python
OpenCV2.3.1+Python2.7.3+Numpy等的配置解析
2018/01/05 Python
浅谈python中np.array的shape( ,)与( ,1)的区别
2018/06/04 Python
Python入门Anaconda和Pycharm的安装和配置详解
2019/07/16 Python
Django实现文件上传下载
2019/10/06 Python
Python作用域与名字空间原理详解
2020/03/21 Python
通过cmd进入python的步骤
2020/06/16 Python
python3 中使用urllib问题以及urllib详解
2020/08/03 Python
python 爬虫请求模块requests详解
2020/12/04 Python
澳大利亚最便宜的网上药房:Chemist Warehouse
2020/01/30 全球购物
司机的工作范围及职责
2013/11/13 职场文书
营业员演讲稿
2013/12/30 职场文书
出纳会计岗位职责
2014/03/12 职场文书
工程力学专业自荐信范文
2014/03/17 职场文书
市场督导岗位职责
2015/04/10 职场文书
Log4j.properties配置及其使用
2021/08/02 Java/Android
Vue组件化(ref,props, mixin,.插件)详解
2022/05/15 Vue.js