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 的 $(&quot;#id&quot;).html() 无内容的解决方法
Jun 07 Javascript
javascript 进阶篇1 正则表达式,cookie管理,userData
Mar 14 Javascript
AngularJS基础学习笔记之指令
May 10 Javascript
js实现文本框选中的方法
May 26 Javascript
JavaScript面对国际化编程时的一些建议
Jun 24 Javascript
Jquery简单分页实现方法
Jul 24 Javascript
JS实现仿饿了么在浏览器标签页失去焦点时网页Title改变
Jun 01 Javascript
AngularJS实现自定义指令及指令配置项的方法
Nov 20 Javascript
Vue组件通信之Bus的具体使用
Dec 28 Javascript
VUE解决微信签名及SPA微信invalid signature问题(完美处理)
Mar 29 Javascript
解决vue-cli webpack打包开启Gzip 报错问题
Jul 24 Javascript
js实现随机div颜色位置 类似满天星效果
Oct 24 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/10/09 PHP
修改Zend引擎实现PHP源码加密的原理及实践
2008/04/14 PHP
使用PHP求两个文件的相对路径
2013/06/20 PHP
PHP调用C#开发的dll类库方法
2014/07/28 PHP
php绘图之生成饼状图的方法
2015/01/24 PHP
win7 wamp 64位 php环境开启curl服务遇到的问题及解决方法
2018/09/16 PHP
php根据命令行参数生成配置文件详解
2019/03/15 PHP
日历查询的算法 如何计算某一天是星期几
2012/12/12 Javascript
js实现图片轮换效果代码
2013/04/16 Javascript
基于Bootstrap+jQuery.validate实现Form表单验证
2014/12/16 Javascript
JavaScript中使用Math.PI圆周率属性的方法
2015/06/14 Javascript
JavaScript实现星星等级评价功能
2017/03/22 Javascript
js评分组件使用详解
2017/06/06 Javascript
详解a++和++a的区别
2017/08/30 Javascript
axios封装,使用拦截器统一处理接口,超详细的教程(推荐)
2019/05/02 Javascript
通过实例了解js函数中参数的传递
2019/06/15 Javascript
微信小程序之几种常见的弹框提示信息实现详解
2019/07/11 Javascript
html+jQuery实现拖动滑块图片拼图验证码插件【移动端适用】
2019/09/10 jQuery
vue 翻页组件vue-flip-page效果
2020/02/05 Javascript
Python实例一个类背后发生了什么
2016/02/09 Python
深入理解Python装饰器
2016/07/27 Python
TensorFlow 滑动平均的示例代码
2018/06/19 Python
python如何查看微信消息撤回
2018/11/27 Python
Python 等分切分数据及规则命名的实例代码
2019/08/16 Python
python中的 zip函数详解及用法举例
2020/02/16 Python
乌克兰网上服装店:Bolf.ua
2018/10/30 全球购物
新西兰最大的天然保健及护肤品网站:HealthPost(直邮中国)
2021/02/13 全球购物
应届大学生求职的自我评价
2013/11/17 职场文书
学生处主任岗位职责
2013/12/01 职场文书
公务员四风问题对照检查材料整改措施
2014/09/26 职场文书
工伤事故赔偿协议书(标准)
2014/09/29 职场文书
追讨欠款律师函
2015/06/24 职场文书
导游词之天津盘山
2019/11/01 职场文书
mysql使用FIND_IN_SET和group_concat两个方法查询上下级机构
2022/04/20 MySQL
python pygame 开发五子棋双人对弈
2022/05/02 Python
使用CSS实现黑白格背景效果
2022/06/01 HTML / CSS