如何利用js实现水平移动与垂直移动效果


本文摘自PHP中文网,作者V,侵删。

水平移动分析:

可看成是一个物体的左边距变化。

比如:向右移动是左边距越来越大(数值为正),可调整物体的左边距来实现

向左移动是左边距越来越小(数值为负),可调整物体的左边距来实现

实际代码如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

<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>

垂直移动分析:

可看成是一个物体的上边距变化。

比如:向下移动是上边距越来越大(数值为正),可调整物体的上边距来实现

向上移动是上边距越来越小(数值为负),可调整物体的上边距来实现

实际代码如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

<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>

相关教程推荐:js教程

以上就是如何利用js实现水平移动与垂直移动效果的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

javascript如何将字符串反转

js如何实现递归函数

js怎么传一个对象

js实现斐波那契列数的三种方法

js控制输入框只允许输入小数

js如何实现蒙版效果

网站对联广告js代码分享

浏览器的事件循环

js 怎么设置css不可见

js如何实现函数防抖与节流

更多相关阅读请进入《js》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...