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 相关文章推荐
有关JavaScript的10个怪癖和秘密分享
Aug 28 Javascript
javascript闭包的高级使用方法实例
Jul 04 Javascript
jquery处理json数据实例分析
Jun 03 Javascript
谈谈JavaScript中的几种借用方法
Aug 09 Javascript
js实现九宫格拼图小游戏
Feb 13 Javascript
Node.js五大应用性能技巧小结(必须收藏)
Aug 09 Javascript
JS获取url参数,JS发送json格式的POST请求方法
Mar 29 Javascript
在Vue 中使用Typescript的示例代码
Sep 10 Javascript
Vue 组件封装 并使用 NPM 发布的教程
Sep 30 Javascript
vue+element-ui实现表格编辑的三种实现方式
Oct 31 Javascript
如何使用CocosCreator对象池
Apr 14 Javascript
如何通过简单的代码描述Angular父组件、子组件传值
Apr 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
PHP中CURL的CURLOPT_POSTFIELDS参数使用细节
2014/03/17 PHP
php准确获取文件MIME类型的方法
2015/06/17 PHP
JSON字符串传到后台PHP处理问题的解决方法
2016/06/05 PHP
js中将多个语句写成一个语句的两种方法小结
2007/12/08 Javascript
一个javascript图片阅览组件
2010/11/09 Javascript
拖动table标题实现改变td的大小(css+js代码)
2013/04/16 Javascript
简述Jquery与DOM对象
2015/07/10 Javascript
JavaScript中在光标处插入添加文本标签节点的详细方法
2017/03/22 Javascript
用js屏蔽被http劫持的浮动广告实现方法
2017/08/10 Javascript
Vuejs+vue-router打包+Nginx配置的实例
2018/09/20 Javascript
JavaScript递归函数定义与用法实例分析
2019/01/24 Javascript
详解基于mpvue微信小程序下载远程图片到本地解决思路
2019/05/16 Javascript
vue cli 3.0 搭建项目的图文教程
2019/05/17 Javascript
微信小程序 生成携带参数的二维码
2019/10/23 Javascript
vue移动端写的拖拽功能示例代码
2020/09/09 Javascript
[01:32]DOTA2 2015国际邀请赛中国区预选赛第四日战报
2015/05/29 DOTA
[02:07]TI9显影之尘系列 - Vici Gaming
2019/08/20 DOTA
Python3基础之条件与循环控制实例解析
2014/08/13 Python
详解Python的单元测试
2015/04/28 Python
Python使用cx_Oracle模块将oracle中数据导出到csv文件的方法
2015/05/16 Python
python 提取tuple类型值中json格式的key值方法
2018/12/31 Python
python实现AES和RSA加解密的方法
2019/03/28 Python
python logging 日志的级别调整方式
2020/02/21 Python
世界上最大的各式箱包网络零售店:eBag
2016/07/21 全球购物
六道php面试题附答案
2014/06/05 面试题
园林设计师自荐信
2013/11/18 职场文书
给民警的表扬信
2014/01/08 职场文书
电子信息工程专业推荐信
2014/02/14 职场文书
秋季运动会广播稿大全
2014/02/17 职场文书
低碳环保演讲稿
2014/08/28 职场文书
效能风暴心得体会
2014/09/04 职场文书
毕业生见习报告总结
2014/11/08 职场文书
优质服务标语口号
2015/12/26 职场文书
建立共青团委员会的请示
2019/04/02 职场文书
mysql 生成连续日期及变量赋值
2022/03/20 MySQL
【海涛dota解说】DCG联赛第一周 LGD VS DH
2022/04/01 DOTA