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 相关文章推荐
jQuery源码分析-03构造jQuery对象-工具函数
Nov 14 Javascript
js模拟select下拉菜单控件的代码
May 08 Javascript
js借助ActiveXObject实现创建文件
Sep 29 Javascript
你可能不知道的JavaScript的new Function()方法
Apr 17 Javascript
在Linux系统中搭建Node.js开发环境的简单步骤讲解
Jan 26 Javascript
JavaScript设计模式开发中组合模式的使用教程
May 18 Javascript
js实现九宫格的随机颜色跳转
Feb 19 Javascript
node.js中路由,中间件,ge请求和post请求的参数详解
Dec 26 Javascript
Vue 拦截器对token过期处理方法
Jan 23 Javascript
vue中子组件向父组件传递数据的实例代码(实现加减功能)
Apr 20 Javascript
图片文字识别(OCR)插件Ocrad.js教程
Nov 26 Javascript
微信小程序发送短信验证码完整实例
Jan 07 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
php中取得URL的根域名的代码
2011/03/23 PHP
PHP二维数组排序简单实现方法
2016/02/14 PHP
PHP7.1方括号数组符号多值复制及指定键值赋值用法分析
2016/09/26 PHP
highchart数据源纵轴json内的值必须是int(详解)
2017/02/20 PHP
Laravel 关联模型-关联新增和关联更新的方法
2019/10/10 PHP
利用js实现选项卡的特别效果的实例
2013/03/03 Javascript
Jquery的hover方法让鼠标经过li时背景变色
2013/09/06 Javascript
写得不错的jquery table鼠标经过变色代码
2013/09/27 Javascript
jquery 循环显示div的示例代码
2013/10/18 Javascript
深入分析JSON编码格式提交表单数据
2015/06/25 Javascript
arcgis for js 修改infowindow样式的方法
2016/11/02 Javascript
JS中用childNodes获取子元素换行会产生一个子元素
2016/12/08 Javascript
JavaScript设计模式之调停者模式实例详解
2018/02/03 Javascript
详解VUE 对element-ui中的ElTableColumn扩展
2018/03/28 Javascript
Vue 权限控制的两种方法(路由验证)
2019/08/16 Javascript
小程序中的箭头函数的具体使用
2020/06/19 Javascript
支付宝小程序实现省市区三级联动
2020/06/21 Javascript
js仿京东放大镜效果
2020/08/09 Javascript
Postman环境变量全局变量使用方法详解
2020/08/13 Javascript
python检查字符串是否是正确ISBN的方法
2015/07/11 Python
Python实现按学生年龄排序的实际问题详解
2017/08/29 Python
Python编程pygal绘图实例之XY线
2017/12/09 Python
浅谈Python2、Python3相对路径、绝对路径导入方法
2018/06/22 Python
python os.path模块常用方法实例详解
2018/09/16 Python
Django框架登录加上验证码校验实现验证功能示例
2019/05/23 Python
python实现银行实战系统
2020/02/26 Python
pycharm实现print输出保存到txt文件
2020/06/01 Python
python读取hdfs并返回dataframe教程
2020/06/05 Python
HTML5实现锚点时请使用id取代name
2013/09/06 HTML / CSS
关于VPN
2012/06/10 面试题
关于抽烟的检讨书
2014/02/25 职场文书
文艺演出策划方案
2014/06/07 职场文书
自强自立美德少年事迹材料
2014/08/16 职场文书
2014年重阳节老干部座谈会局领导发言稿
2014/09/25 职场文书
四风查摆问题自查报告
2014/10/10 职场文书
优秀家长事迹材料(2016推荐版)
2016/02/29 职场文书