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 相关文章推荐
JavaScipt基本教程之前言
Jan 16 Javascript
javascript firefox不显示本地预览图片问题的解决方法
Nov 12 Javascript
运用jquery实现table单双行不同显示并能单行选中
Jul 25 Javascript
一些常用且实用的原生JavaScript函数
Sep 08 Javascript
初窥JQuery(二) 事件机制(1)
Nov 25 Javascript
js注意img图片的onerror事件的分析
Jan 01 Javascript
jquery ajax方式直接提交整个表单核心代码
Aug 15 Javascript
html5+javascript制作简易画板附图
Apr 25 Javascript
jQuery实现跨域
Feb 03 Javascript
10个JavaScript中易犯小错误
Feb 14 Javascript
Bootstrap入门书籍之(三)栅格系统
Feb 17 Javascript
原生js验证简洁注册登录页面
Dec 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
php 阴历-农历-转换类代码
2012/01/16 PHP
PHP网络操作函数汇总
2015/05/18 PHP
laravel解决迁移文件一次删除创建字段报错的问题
2019/10/24 PHP
javascript+xml技术实现分页浏览
2008/07/27 Javascript
同一个表单 根据要求递交到不同页面的实现方法小结
2009/08/05 Javascript
js 多种变量定义(对象直接量,数组直接量和函数直接量)
2010/05/24 Javascript
jQuery+jqmodal弹出窗口实现代码分明
2010/06/14 Javascript
网页打开自动最大化的js代码
2012/08/22 Javascript
JavaScript代码应该放在HTML代码哪个位置比较好?
2014/10/16 Javascript
js字符串完全替换函数分享
2014/12/03 Javascript
jQuery+PHP打造滑动开关效果
2014/12/16 Javascript
JavaScript常用函数工具集:lao-utils
2016/03/01 Javascript
JS遍历数组和对象的区别及递归遍历对象、数组、属性的方法详解
2016/06/14 Javascript
JavaScript——DOM操作——Window.document对象详解
2016/07/14 Javascript
js实现登录验证码
2016/12/22 Javascript
vue组件实现文字居中对齐的方法
2017/08/23 Javascript
微信小程序实现语音识别转文字功能及遇到的坑
2019/08/02 Javascript
JS实现电商商品展示放大镜特效
2020/01/07 Javascript
[04:16]DOTA2英雄梦之声_第09期_斧王
2014/06/21 DOTA
[54:58]完美世界DOTA2联赛PWL S2 LBZS vs Rebirth 第一场 11.25
2020/11/25 DOTA
python使用PIL缩放网络图片并保存的方法
2015/04/24 Python
Python Xml文件添加字节属性的方法
2018/03/31 Python
在PyCharm环境中使用Jupyter Notebook的两种方法总结
2018/05/24 Python
Python小整数对象池和字符串intern实例解析
2020/03/21 Python
PyCharm 2020 激活到 2100 年的教程
2020/03/25 Python
Python爬虫爬取微信朋友圈
2020/08/06 Python
Html5页面点击遮罩层背景关闭遮罩层
2020/11/30 HTML / CSS
澳大利亚墨尔本的在线时装店:LORETA
2018/09/14 全球购物
下面这个程序执行后会有什么错误或者效果
2014/11/03 面试题
市场营销调查计划书
2014/05/02 职场文书
党的群众路线教育实践活动教师自我剖析材料
2014/10/09 职场文书
公安机关纪律作风整顿剖析
2014/10/10 职场文书
2014年护理部工作总结
2014/11/14 职场文书
清明节网上祭英烈寄语2015
2015/03/04 职场文书
mysql 直接拷贝data 目录下文件还原数据的实现
2021/07/25 MySQL
Elasticsearch 数据类型及管理
2022/04/19 Python