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 相关文章推荐
屏蔽script注入小例子
Nov 12 Javascript
js复制网页内容并兼容各主流浏览器的代码
Dec 17 Javascript
node.js中的console.time方法使用说明
Dec 09 Javascript
jQuery实现的鼠标经过时变宽的效果(附demo源码)
Apr 28 Javascript
jQuery EasyUI API 中文帮助文档和扩展实例
Aug 01 Javascript
javascript实现的左右无缝滚动效果
Sep 19 Javascript
js 中获取制定的cook信息实现方法
Nov 19 Javascript
纯js仿淘宝京东商品放大镜功能
Mar 02 Javascript
node.js + socket.io 实现点对点随机匹配聊天
Jun 30 Javascript
jquery.pager.js实现分页效果
Jul 29 jQuery
javascript json对象小技巧之键名作为变量用法分析
Nov 11 Javascript
谈谈JavaScript中的垃圾回收机制
Sep 17 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
天津市收音机工业发展史
2021/03/04 无线电
使用PHP模拟HTTP认证
2006/10/09 PHP
漂亮但不安全的CTB
2006/10/09 PHP
php版微信开发Token验证失败或请求URL超时问题的解决方法
2016/09/23 PHP
php array_values 返回数组的所有值详解及实例
2016/11/12 PHP
yii2中LinkPager增加总页数和总记录数的实例
2017/08/28 PHP
JavaScript 特殊字符
2007/04/05 Javascript
自动完成JS类(纯JS, Ajax模式)
2009/03/12 Javascript
Javascript实现仿WebQQ界面的“浮云”兼容 IE7以上版本及FF
2011/04/27 Javascript
chrome浏览器不支持onmouseleave事件的解决技巧
2013/05/31 Javascript
文本框中禁止非数字字符输入比如手机号码、邮编
2013/08/19 Javascript
window.opener用法和用途实例介绍
2013/08/19 Javascript
JavaScript实现弹出子窗口并传值给父窗口
2014/12/18 Javascript
bootstrap模态框跳转到当前模板页面 框消失了而背景存在问题的解决方法
2020/11/30 Javascript
html5 canvas 详细使用教程
2017/01/20 Javascript
Bootstrap页面缩小变形的快速解决办法
2017/02/03 Javascript
JavaScript中数组Array方法详解
2017/02/27 Javascript
微信小程序中使用Promise进行异步流程处理的实例详解
2017/08/17 Javascript
vue.js,ajax渲染页面的实例
2018/02/11 Javascript
Vue中的Props(不可变状态)
2018/09/29 Javascript
JS获取月的第几周和年的第几周实例代码
2018/12/05 Javascript
浅谈Vue中render中的h箭头函数
2019/11/07 Javascript
python通过正则查找微博@(at)用户的方法
2015/03/13 Python
python画双y轴图像的示例代码
2019/07/07 Python
Python正则表达式急速入门(小结)
2019/12/16 Python
Python生成器传参数及返回值原理解析
2020/07/22 Python
Python unittest装饰器实现原理及代码
2020/09/08 Python
中文系学生自荐信范文
2013/11/13 职场文书
文史专业毕业生自荐信
2013/11/17 职场文书
同居协议书范本
2014/04/23 职场文书
2014年小学教导处工作总结
2014/12/19 职场文书
2015年度高中教师工作总结
2015/05/26 职场文书
JS监听Esc 键触发事键
2021/04/14 Javascript
python 定义函数 返回值只取其中一个的实现
2021/05/21 Python
如何用Python搭建gRPC服务
2021/06/30 Python
Java中的随机数Random
2022/03/17 Java/Android