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[js]获取url参数的代码
Oct 17 Javascript
date.parse在IE和FF中的区别
Jul 29 Javascript
基于jQuery实现图片的前进与后退功能
Apr 24 Javascript
JavaScript实现强制重定向至HTTPS页面
Jun 10 Javascript
超赞的jQuery图片滑块动画特效代码汇总
Jan 25 Javascript
js获取浏览器的各种属性
Apr 27 Javascript
AngularJS实现表格的增删改查(仅限前端)
Jul 04 Javascript
JS获取今天是本月第几周、本月共几周、本月有多少天、是今年的第几周、是今年的第几天的示例代码
Dec 05 Javascript
vue中将html字符串转换成html后遇到的问题小结
Dec 10 Javascript
three.js搭建室内场景教程
Dec 30 Javascript
vue安装遇到的5个报错及解决方法
Jun 12 Javascript
Vue学习笔记之计算属性与侦听器用法
Dec 07 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
pw的一个放后门的方法分析
2007/10/08 PHP
PHP中实现中文字符进制转换原理分析
2011/12/06 PHP
基于ubuntu下nginx+php+mysql安装配置的具体操作步骤
2013/04/28 PHP
Zend Guard使用指南及问题处理
2015/01/07 PHP
PHP爬虫之百万级别知乎用户数据爬取与分析
2016/01/22 PHP
Javascript中的Split使用方法与技巧
2007/03/09 Javascript
基于jQuery的message插件实现右下角弹出消息框
2011/01/11 Javascript
jquery动态添加删除div 具体实现
2013/07/20 Javascript
jquery跟js初始化加载的多种方法及区别介绍
2014/04/02 Javascript
动态载入js提高网页打开速度的方法
2014/07/04 Javascript
一个实用的图片切换支持点击切换和自动轮播
2014/09/09 Javascript
javascript闭包(Closure)用法实例简析
2015/11/30 Javascript
ECharts仪表盘实例代码(附源码下载)
2016/02/18 Javascript
AngularJs 60分钟入门基础教程
2016/04/03 Javascript
jQuery UI Grid 模态框中的表格实例代码
2017/04/01 jQuery
jQuery 同时获取多个标签的指定内容并储存为数组
2018/11/20 jQuery
JS中数据结构之栈
2019/01/01 Javascript
JS数组求和的常用方法总结【5种方法】
2019/01/14 Javascript
ES6基础之解构赋值(destructuring assignment)
2019/02/21 Javascript
JavaScript从原型到原型链深入理解
2019/06/03 Javascript
[07:08]2014DOTA2西雅图国际邀请赛 小组赛7月11日TOPPLAY
2014/07/11 DOTA
[52:26]完美世界DOTA2联赛决赛 FTD vs Phoenix 第一场 11.08
2020/11/11 DOTA
python编写朴素贝叶斯用于文本分类
2017/12/21 Python
实时获取Python的print输出流方法
2019/01/07 Python
一篇文章弄懂Python中的可迭代对象、迭代器和生成器
2019/08/12 Python
Python使用扩展库pywin32实现批量文档打印实例
2020/04/09 Python
python使用pymongo与MongoDB基本交互操作示例
2020/04/09 Python
Python pysnmp使用方法及代码实例
2020/08/24 Python
Python爬虫教程知识点总结
2020/10/19 Python
捷克钓鱼用品网上商店:Parys.cz
2018/06/15 全球购物
struct与class的区别
2014/02/03 面试题
物理分数没达标检讨书
2014/09/13 职场文书
简单的个人租房协议书范本
2014/11/26 职场文书
导游词之平津战役纪念馆
2019/11/04 职场文书
Windows安装Anaconda3的方法及使用过程详解
2021/06/11 Python
Mysql开启外网访问
2022/05/15 MySQL