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中使用timer示例
May 08 Javascript
网站基于flash实现的Banner图切换效果代码
Oct 14 Javascript
jQuery中[attribute^=value]选择器用法实例
Dec 31 Javascript
jQuery中nextUntil()方法用法实例
Jan 07 Javascript
JavaScript语言精粹经典实例(整理篇)
Jun 07 Javascript
实用jquery操作表单元素的简单代码
Jul 04 Javascript
Javascript快速实现浏览器系统通知
Aug 26 Javascript
jQuery动态操作表单示例【基于table表格】
Dec 06 jQuery
引入外部js脚本加载慢与页面白屏问题的解决
Dec 10 Javascript
微信小程序传值以及获取值方法的详解
Apr 29 Javascript
javascript之分片上传,断点续传的实际项目实现详解
Sep 05 Javascript
JavaScript实现简单计算器功能
Dec 19 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 危险函数解释 分析
2009/04/22 PHP
Laravel中使用自己编写类库的3种方法
2015/02/10 PHP
javascript之函数直接量(function(){})()
2007/06/29 Javascript
让iframe自适应高度(支持XHTML,支持FF)
2007/07/24 Javascript
JS判断是否为数字,是否为整数,是否为浮点数的代码
2010/04/24 Javascript
js bind 函数 使用闭包保存执行上下文
2011/12/26 Javascript
javaScript数组迭代方法详解
2016/04/14 Javascript
jQuery中用on绑定事件时需注意的事项
2017/03/19 Javascript
jq checkbox 的全选并ajax传参的实例
2017/04/01 Javascript
EasyUI在Panel上动态添加LinkButton按钮
2017/08/11 Javascript
详解node.js中的npm和webpack配置方法
2018/01/21 Javascript
Vue实现底部侧边工具栏的实例代码
2018/09/03 Javascript
vue-cli 打包后提交到线上出现 &quot;Uncaught SyntaxError:Unexpected token&quot; 报错
2018/11/06 Javascript
JS使用栈判断给定字符串是否是回文算法示例
2019/03/04 Javascript
vue elementUI table表格数据 滚动懒加载的实现方法
2019/04/04 Javascript
详解vue中使用微信jssdk
2019/04/19 Javascript
vue使用代理解决请求跨域问题详解
2019/07/24 Javascript
微信小程序前端promise封装代码实例
2019/08/24 Javascript
[06:09]辉夜杯主赛事开幕式
2015/12/25 DOTA
Python可跨平台实现获取按键的方法
2015/03/05 Python
初步探究Python程序的执行原理
2015/04/11 Python
Tensorflow模型实现预测或识别单张图片
2019/07/19 Python
python tornado使用流生成图片的例子
2019/11/18 Python
Pytorch 实现focal_loss 多类别和二分类示例
2020/01/14 Python
基于python实现上传文件到OSS代码实例
2020/05/09 Python
基于python判断字符串括号是否闭合{}[]()
2020/09/21 Python
Python-openpyxl表格读取写入的案例详解
2020/11/02 Python
html5 http的轮询和Websocket原理
2018/10/19 HTML / CSS
新浪网技术部笔试题
2016/08/26 面试题
销售找工作求职信
2013/12/20 职场文书
教师党的群众路线教育实践活动学习心得体会
2014/10/30 职场文书
2014年生产部工作总结
2014/12/17 职场文书
个人求职自荐信范文
2015/03/06 职场文书
2016党员学习心得体会范文
2016/01/23 职场文书
python简单验证码识别的实现过程
2021/06/20 Python
Python Flask搭建yolov3目标检测系统详解流程
2021/11/07 Python