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 相关文章推荐
javascript 特殊字符串
Feb 25 Javascript
JS复制内容到剪切板的实例代码(兼容IE与火狐)
Nov 19 Javascript
ListBox实现上移,下移,左移,右移的简单实例
Feb 13 Javascript
JS动态添加Table的TR,TD实现方法
Jan 28 Javascript
JavaScript实现非常简单实用的下拉菜单效果
Aug 27 Javascript
jquery采用oop模式class类的使用示例
Jan 22 Javascript
jQuery zTree加载树形菜单功能
Feb 25 Javascript
简单解析JavaScript中的__proto__属性
May 10 Javascript
微信小程序开发(一) 微信登录流程详解
Jan 11 Javascript
AngularJS $http模块POST请求实现
Apr 08 Javascript
基于vue-cli配置lib-flexible + rem实现移动端自适应
Dec 26 Javascript
Vue项目中如何引入icon图标
Mar 28 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中,文件上传
2006/12/06 PHP
php数组函数序列之next() - 移动数组内部指针到下一个元素的位置,并返回该元素值
2011/10/31 PHP
基于PHP Web开发MVC框架的Smarty使用说明
2013/04/19 PHP
360通用php防护代码(使用操作详解)
2013/06/18 PHP
php简单日历函数
2015/10/28 PHP
完美解决phpdoc导出文档中@package的warning及Error的错误
2016/05/17 PHP
无需数据库在线投票调查php代码
2016/07/20 PHP
thinkphp5 migrate数据库迁移工具
2018/02/20 PHP
TNC vs RR BO3 第一场 2.14
2021/03/10 DOTA
JavaScript基本概念初级讲解论坛贴的学习记录
2009/02/22 Javascript
javascript中字符串拼接需注意的问题
2010/07/13 Javascript
Javascript实现获取窗口的大小和位置代码分享
2014/12/04 Javascript
jQuery制作简洁的多级联动Select下拉框
2014/12/23 Javascript
javascript+canvas制作九宫格小程序
2014/12/28 Javascript
JS遍历数组及打印数组实例分析
2016/01/21 Javascript
js 基础篇必看(点击事件轮播图的简单实现)
2016/08/20 Javascript
AngularJS $injector 依赖注入详解
2016/09/14 Javascript
jQuery实现的上传图片本地预览效果简单示例
2018/03/29 jQuery
微信小程序实现长按删除图片的示例
2018/05/18 Javascript
基于Vue和Element-Ui搭建项目的方法
2019/09/06 Javascript
使用webpack搭建pixi.js开发环境
2020/02/12 Javascript
[51:17]VGJ.T vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python2.x版本中cmp()方法的使用教程
2015/05/14 Python
Python基于回溯法子集树模板解决全排列问题示例
2017/09/07 Python
python opencv实现任意角度的透视变换实例代码
2018/01/12 Python
Python中字符串String的基本内置函数与过滤字符模块函数的基本用法
2019/05/27 Python
win8.1安装Python 2.7版环境图文详解
2019/07/01 Python
python多线程案例之多任务copy文件完整实例
2019/10/29 Python
CSS3实现伪类hover离开时平滑过渡效果示例
2017/08/10 HTML / CSS
百度软件工程师职位
2013/02/14 面试题
化妆品促销方案
2014/02/24 职场文书
让世界充满爱演讲稿
2014/05/24 职场文书
公司授权委托书范文
2014/08/02 职场文书
建筑横幅标语
2014/10/09 职场文书
基于python的matplotlib制作双Y轴图
2021/04/20 Python
pytorch 使用半精度模型部署的操作
2021/05/24 Python