码迷,mamicode.com
首页 > 移动开发 > 详细

实践课__元素移动封装

时间:2016-09-02 21:56:56      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			div {
				width: 100px;
				height: 100px;
				background-color: red;
				top: 50px;
				left: 30px;
				position: absolute;
				transition: 0.5;
			}
		</style>
	</head>
	<body>
		<input id="btn1" type="button" value="往上" />
		<input id="btn2" type="button" value="往下" />
		<input id="btn3" type="button" value="往左" />
		<input id="btn4" type="button" value="往右" />
		<div id="div1"></div>
		
		<script>
			var oBtn1 = document.getElementById(‘btn1‘);
			var oBtn2 = document.getElementById(‘btn2‘);
			var oBtn3 = document.getElementById(‘btn3‘);
			var oBtn4 = document.getElementById(‘btn4‘);
			
			var oDiv = document.getElementById(‘div1‘);
			
			oBtn1.onclick = function () {
				doMove ( oDiv, ‘top‘, 12, 40 );
			};
			
			oBtn2.onclick = function () {
				doMove ( oDiv, ‘top‘, 12, 500 );
			};
		
			oBtn3.onclick = function(){
				doMove(oDiv, ‘left‘, 12 , 10);
			}
			
			oBtn4.onclick = function(){
				doMove(oDiv, ‘left‘, 12, 800);
			};
		
			function doMove ( obj, attr, dir, target ) {
				dir = parseInt(getStyle( obj, attr )) < target ? dir : -dir;
				clearInterval( obj.timer );
				obj.timer = setInterval(function () {
					var speed = parseInt(getStyle( obj, attr )) + dir;			// 步长
					if ( speed > target && dir > 0 ||  speed < target && dir < 0  ) {
						speed = target;
					}
					obj.style[attr] = speed + ‘px‘;
					if ( speed == target ) {
						clearInterval( obj.timer );
					}
				}, 30);
			}
			
			function getStyle ( obj, attr ) { 
				return obj.currentStyle?obj.currentStyle[attr] : getComputedStyle( obj )[attr]; 
			}
		</script>
	</body>
</html>

  技术分享

 

实践课__元素移动封装

标签:

原文地址:http://www.cnblogs.com/SM-t/p/5835663.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!