zoukankan      html  css  js  c++  java
  • web前端 -- js动画 -- animation匀速

    div在直线上的移动

    步骤:

    1)首先在body里添加一个div,接着去设置div样式。为了让div移动,设置position为absolute,left设置为0,right设置为0

    2)接着我们去清除一下默认样式。(就是*{} 这部分)。

    3)script里的move函数,每次调用时使我的div移动一定的像素。

    代码如下:

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8">
    		<title></title>
    		<style>
    			*{
    				margin: 0;
    				padding: 0;
    			}
    			div{
    				 100px;
    				height: 100px;
    				background-color: pink;
    				position: absolute;
    				left: 0;
    				right: 0;
    			}
    		</style>
    	</head>
    	<body>
    		<div></div>
    	</body>
    </html>
    

    4)先运行一下,看我的div是否存在,效果图如下。

    5)实现move,在script中做如下修改,可以回浏览器看,div此时是水平移动的啦。

    <body>
    		<div></div>
    		<script type="text/javascript">
    			var speedX = 3;//在move之外,先有一个水平移动的速度
    			var div = document.querySelector('div');//方便move隔一小段时间调用
    		
    			//实现move
    			function move(){
    				
    		//在move中取得当前元素所在的left值,调用getComputedStyle传入div
    		//注意:left是个字符串,且后面可能跟着px单位,在使用之前先用parseInt解析
    				var currentLeft = parseInt(window.getComputedStyle(div).left) ;
    				var currentTop = parseInt(window.getComputedStyle(div).top) ;
    				var left = currentLeft + speedX;//计算left值
    				
    				div.style.left = left + 'px';//设置水平移动
    			}
    			
    			//调用move函数
    			setInterval(function(){
    				move()
    			},20);
    		</script>
    	</body>
    

    6)同理,设置垂直方向上的参数,可以实现垂直方向移动。

    var speedY = 4;//垂直方向
    var top = currentTop + speedY;//计算top值
    div.style.top = top + 'px'; //设置垂直移动
    

    7)斜线运动就是水平方向和垂直方向都设置参数。

  • 相关阅读:
    JavaWeb学习笔记(3)
    JavaWeb学习笔记(2)
    JavaWeb学习笔记(1)
    Java学习笔记(20)
    Java学习笔记(19)
    Java学习笔记(18)
    Java学习笔记(17)
    Java学习笔记(16)
    Java学习笔记(15)
    Java学习笔记(14)
  • 原文地址:https://www.cnblogs.com/hefeifei/p/11616544.html
Copyright © 2011-2022 走看看