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_05_原型继承原理
Oct 13 Javascript
jquery 全局AJAX事件使用代码
Nov 05 Javascript
情人节之礼 js项链效果
Feb 13 Javascript
JQuery中操作Css样式的方法
Feb 12 Javascript
javascript数组去重方法终极总结
Jun 05 Javascript
用js读、写、删除Cookie代码续篇
Dec 03 Javascript
javascript同步服务器时间和同步倒计时小技巧
Sep 24 Javascript
jQuery Mobile 触摸事件实例
Jun 04 Javascript
JS常见创建类的方法小结【工厂方式,构造器方式,原型方式,联合方式等】
Apr 01 Javascript
Vuex实现计数器以及列表展示效果
Mar 10 Javascript
vue-cli监听组件加载完成的方法
Sep 07 Javascript
区分vue-router的hash和history模式
Oct 03 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连mysql和oracle数据库性能比较
2006/10/09 PHP
PHP编码规范之注释和文件结构说明
2010/07/09 PHP
php静态文件生成类实例分析
2015/01/03 PHP
如何重写Laravel异常处理类详解
2020/12/20 PHP
Jquery跨域获得Json时invalid label错误的解决办法
2011/01/11 Javascript
多浏览器兼容性比较好的复制到剪贴板的js代码
2011/10/09 Javascript
ExtJs默认的字体大小改变的几种方法(自己整理)
2013/04/18 Javascript
jquery自定义函数的多种方法
2014/01/09 Javascript
javascript解决IE6下hover问题的方法
2015/07/28 Javascript
JS不完全国际化&amp;本地化手册 之 理论篇
2016/09/27 Javascript
关于iframe跨域POST提交的方法示例
2017/01/15 Javascript
关于jQuery库冲突的完美解决办法
2017/05/20 jQuery
JavaScript实现一个空中避难的小游戏
2017/06/06 Javascript
实例详解Vue项目使用eslint + prettier规范代码风格
2018/08/20 Javascript
详解如何在Vue项目中发送jsonp请求
2019/10/25 Javascript
Js代码中的span拼接问题解决
2019/11/22 Javascript
jQuery HTML获取内容和属性操作实例分析
2020/05/20 jQuery
javascript实现前端分页效果
2020/06/24 Javascript
JavaScript实现与web通信的方法详解
2020/08/07 Javascript
vue router返回到指定的路由的场景分析
2020/11/10 Javascript
微信小程序对图片进行canvas压缩的方法示例详解
2020/11/12 Javascript
[03:38]2014DOTA2西雅图国际邀请赛 VG战队巡礼
2014/07/07 DOTA
Python实现多线程下载文件的代码实例
2014/06/01 Python
Python 使用os.remove删除文件夹时报错的解决方法
2017/01/13 Python
Python实现的服务器示例小结【单进程、多进程、多线程、非阻塞式】
2019/05/23 Python
CSS3模块的目前的状况分析
2010/02/24 HTML / CSS
高清屏下canvas重置尺寸引发的问题的解决
2019/10/14 HTML / CSS
HTML5实现移动端点击翻牌功能
2020/10/23 HTML / CSS
会计专业自我鉴定范文
2013/12/29 职场文书
毕业生的自我评价
2013/12/30 职场文书
优秀毕业生事迹材料
2014/02/12 职场文书
采购类个人求职的自我评价
2014/02/18 职场文书
销售经理工作失职检讨书
2014/10/24 职场文书
安阳殷墟导游词
2015/02/10 职场文书
十八大观后感
2015/06/12 职场文书
CSS list-style-type属性使用方法
2023/05/21 HTML / CSS