JS实现水平移动与垂直移动动画


Posted in Javascript onDecember 19, 2019

本文实例为大家分享了JS实现水平移动与垂直移动的具体代码,供大家参考,具体内容如下

水平移动分析:

可看成是一个物体的左边距变化。

比如:向右移动是左边距越来越大(数值为正),可调整物体的左边距来实现

向左移动是左边距越来越小(数值为负),可调整物体的左边距来实现

实际代码如下:

<style>
    *{padding: 0;margin: 0px;}
    #box{width: 100px;height: 100px;border-radius: 50%;background: red;position: absolute;top: 50px;left: 0;}
</style>
<body>
  <button id="btn">向右</button>
  <button id="btn1">向左</button>
  <div id="box"></div>
  <script>
    var box=document.getElementById('box');
    //速度
    var index=10;
    //定时器编号
    var b;
    //添加向右点击事件
    document.getElementById('btn').onclick=function(){
      clearInterval(b);//清除上一个定时器执行的事件
      b=setInterval(getMove,100,index);//每100毫秒执行一次getMove函数
    }
    //添加向左点击事件
    document.getElementById('btn1').onclick=function(){
      clearInterval(b);//清除上一个定时器执行的事件
      b=setInterval(getMove,100,-index);//每100毫秒执行一次getMove函数
    }
    //box移动位置
    function getMove(index){
      //获取box的左距离
      var a=window.getComputedStyle(box,null).left;
      a=parseInt(a);//转换为数值
      box.style.left=a+index+'px'//计算box的左距离
    }
  </script>
</body>

垂直移动分析:

可看成是一个物体的上边距变化。

比如:向下移动是上边距越来越大(数值为正),可调整物体的上边距来实现

向上移动是上边距越来越小(数值为负),可调整物体的上边距来实现

实际代码如下:

<style>
    *{padding: 0;margin: 0px;}
    #box{width: 100px;height: 100px;border-radius: 50%;background: red;position: absolute;top: 50px;left: 0;}
</style>
<body>
  <button id="btn">向下</button>
  <button id="btn1">向上</button>
  <div id="box"></div>
  <script>
    var box=document.getElementById('box');
    //速度
    var index=10;
    //定时器编号
    var b;
    //添加向下点击事件
    document.getElementById('btn').onclick=function(){
      clearInterval(b);//清除上一个定时器执行的事件
      b=setInterval(getMove,100,index);//每100毫秒执行一次getMove函数
    }
    //添加向上点击事件
    document.getElementById('btn1').onclick=function(){
      clearInterval(b);//清除上一个定时器执行的事件
      b=setInterval(getMove,100,-index);//每100毫秒执行一次getMove函数
    }
    //box移动位置
    function getMove(index){
      //获取box的上距离
      var a=window.getComputedStyle(box,null).top;
      a=parseInt(a);//转换为数值
      box.style.top=a+index+'px'//计算box的上距离
    }
  </script>
</body>

有补充得请留言!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Ext JS Grid在IE6 下宽度的问题解决方法
Feb 15 Javascript
jQuery 判断页面元素是否存在的代码
Aug 14 Javascript
网络图片延迟加载实现代码 超越jquery控件
Mar 27 Javascript
js字母大小写转换实现方法总结
Nov 13 Javascript
jQuery 获取兄弟元素的几种不错方法
May 23 Javascript
CKEditor无法验证的解决方案(js验证+jQuery Validate验证)
May 09 Javascript
JS未跨域操作iframe里的DOM
Jun 01 Javascript
实现隔行换色效果的两种方式【实用】
Nov 27 Javascript
Javascript DOM事件操作小结(监听鼠标点击、释放,悬停、离开等)
Jan 20 Javascript
浅谈Angular4中常用管道
Sep 27 Javascript
基于substring()和substr()的使用以及区别(实例讲解)
Dec 28 Javascript
JS typeof fn === 'function' &amp;&amp; fn()详解
Aug 22 Javascript
5分钟快速看懂ES6中的反射与代理
Dec 19 #Javascript
d3.js实现图形拖拽
Dec 19 #Javascript
d3.js实现图形缩放平移
Dec 19 #Javascript
微信小程序批量上传图片到七牛(推荐)
Dec 19 #Javascript
echarts实现折线图的拖拽效果
Dec 19 #Javascript
Vue中使用Lodop插件实现打印功能的简单方法
Dec 19 #Javascript
Echarts实现单条折线可拖拽效果
Dec 19 #Javascript
You might like
PHP4中实现动态代理
2006/10/09 PHP
PHP strtok()函数的优点分析
2010/03/02 PHP
PHP下利用header()函数设置浏览器缓存的代码
2010/09/01 PHP
php+mysql数据库查询实例
2015/01/21 PHP
PHP使用mysqli操作MySQL数据库的简单方法
2017/02/04 PHP
PHP针对redis常用操作实例详解
2019/08/17 PHP
浏览器常用高宽的jquery插件
2011/02/24 Javascript
DIV始终居中的js代码
2014/02/17 Javascript
jQuery中offsetParent()方法用法实例
2015/01/19 Javascript
jQuery实现返回顶部效果的方法
2015/05/29 Javascript
每天一篇javascript学习小结(Array数组)
2015/11/11 Javascript
JavaScript中的原型prototype完全解析
2016/05/10 Javascript
浅谈layer的iframe弹窗给里面的标签赋值的问题
2016/11/10 Javascript
jquery对所有input type=text的控件赋值实现方法
2016/12/02 Javascript
JavaScript实现多栏目切换效果
2016/12/12 Javascript
js实现用户输入的小写字母自动转大写字母的方法
2017/01/21 Javascript
Parcel 打包示例(React HelloWorld)
2018/01/16 Javascript
对vue里函数的调用顺序介绍
2018/03/17 Javascript
vue强制刷新组件的方法示例
2019/02/28 Javascript
解决vue与node模版引擎的渲染标记{{}}(双花括号)冲突问题
2020/09/11 Javascript
逐行分析鸿蒙系统的 JavaScript 框架(推荐)
2020/09/17 Javascript
windows下安装python paramiko模块的代码
2013/02/10 Python
Python除法之传统除法、Floor除法及真除法实例详解
2019/05/23 Python
详解Django-channels 实现WebSocket实例
2019/08/22 Python
python 通过文件夹导入包的操作
2020/06/01 Python
css sprite简单实例
2016/05/23 HTML / CSS
计算机专业毕业生的自我评价
2013/11/18 职场文书
三下乡活动方案
2014/01/31 职场文书
机关搬迁方案
2014/05/18 职场文书
幸福家庭标语
2014/06/27 职场文书
大学毕业生管理学求职信
2014/09/01 职场文书
单位实习工作证明怎么写
2014/11/02 职场文书
餐饮服务食品安全承诺书
2015/04/29 职场文书
2015年度合同管理工作总结
2015/05/22 职场文书
开学典礼观后感
2015/06/15 职场文书
《钓鱼的启示》教学反思
2016/02/18 职场文书