js运动应用之运动框架

js运动应用之运动框架

<style>
	div{
		width:200px;
		height:200px;
		background-Color:yellow;
		float:left;
		font-size:14px;
	}
</style>
<script type="text/javascript">
	window.onload=function()
	{
		var oDiv1=document.getElementById('div1');
		//当鼠标移入height变为400px;
		oDiv1.onmouseover=function(){
			startMove(this,'height',400);
		}
		//当鼠标移出height回到200px(arrt参数在这里的值就是height);
		oDiv1.onmouseout=function(){
			startMove(this,'height',200);
		}

		var oDiv2=document.getElementById('div2');
		//当鼠标移入width变为400px;
		oDiv2.onmouseover=function(){
			startMove(this,'width',400);
		}
		//当鼠标移出width回到200px(arrt参数在这里的值就是width);
		oDiv2.onmouseout=function(){
			startMove(this,'width',200);
		}

		var oDiv3=document.getElementById('div3');
		//当鼠标移入fontSize变为400px;
		oDiv2.onmouseover=function(){
			startMove(this,'fontSize',50);
		}
		//当鼠标移出fontSize回到200px(arrt参数在这里的值就是fontSize);
		oDiv2.onmouseout=function(){
			startMove(this,'fontSize',14);
		}

	}
	//取非行间样式(obj为对象,name为值)
	function getStyle(obj,name){
		if(obj,currentStyle){
			//针对IE浏览器取非行间样式
			return obj.currentStyle;
		}
		else{
			//针对IE外其他浏览器去非行间样式
			return getComputedStyle(obj,null)[name];
		}
	}
	
	//运动框架,为了让一个运动框架适用于多种运动,给定一个参数arrt,用哪个就赋哪些值!
	functio startMove(obj,arrt,target){
		//给定一个obj对象,关闭单个div定时器(互不干扰)
		clearInterval(obj.timer);
		obj.timer=seaInterval(function(){
			//取出非行间样式,减少代码量;
			var curr=parsent(getStyle(obj,arrt));
			
			var speed=(target-curr)/6;
			//向上取整
			speed=speed>0?Math.ceil(speed):Math.floor(speed);
			//如果到达目标点
			if(curr==target){
				//关闭计时器
				clearInterval(obj.timer);
			}
			else{
				//将结果加载到对应的样式上;
				obj.style[arrt]=curr+speed+'px';
			}
		},30)
	}
</script>
<div id="div1">变高</div>
<div id="div2">变宽</div>
<div id="div3">字体变大</div>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值