zoukankan      html  css  js  c++  java
  • JS完美运动框架【利用了Json】

    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>完美运动框架</title>
    <style>
    body,ul,li{
    	margin:0;
    	padding:0;
    }
    ul,li{
    	list-style:none;
    }
    ul li{
    	200px;
    	height:100px;
    	background:yellow;	
    	margin-bottom:20px;
    	border:4px solid #000;
    	filter:alpha(opacity:30);
    	opacity:0.3;
    }
    </style>
    <script src="move.js"></script>
    <script>
    window.onload = function(){
    	var oLi = document.getElementById('li1');
    	oLi.onmouseover = function(){
    		startMove(oLi,{400,height:200,opacity:100});
    	}
    	oLi.onmouseout = function(){
    		startMove(oLi,{200,height:100,opacity:30});
    	}
    }
    </script>
    
    </head>
    <body>
    <ul>
    	<li id = "li1">我是什么颜色</li>
    </ul>
    </body>
    </html>


    move.js

     function getStyle(obj, attr)
    {
    	if(obj.currentStyle)
    	{
    		return obj.currentStyle[attr];
    	}
    	else
    	{
    		return getComputedStyle(obj, false)[attr];
    	}
    }
    
    function startMove(obj, json, fn)
    {
    	clearInterval(obj.timer);
    	obj.timer=setInterval(function (){
    	flag=true;//定义标杆,假设所有运动都到达目标值 
    	for(var attr in json)
    	{
    		//1.取当前的值
    		var iCur=0;
    
    		if(attr=='opacity')
    		{
    			iCur=parseInt(parseFloat(getStyle(obj, attr))*100);
    		}
    		else
    		{
    			iCur=parseInt(getStyle(obj, attr));
    		}
    	
    		//2.算速度
    		var iSpeed=(json[attr]-iCur)/8;
    
    		iSpeed=iSpeed>0?Math.ceil(iSpeed):Math.floor(iSpeed);
    		//3.检测停止
    		if(iCur!=json[attr])
    		{
    			flag=false;
    		}
    		if(attr=='opacity')
    		{
    			obj.style.filter='alpha(opacity:'+(iCur+iSpeed)+')';
    			obj.style.opacity=(iCur+iSpeed)/100;
    		}
    		else
    		{
    			obj.style[attr]=iCur+iSpeed+'px';
    		}
    	}   
    		    if(flag)
    		    {
    		   		clearInterval(obj.timer);
    			    if(fn)
    			    {
    			    	fn();
    			    }
    		    }
    	}, 30)
    }
    



  • 相关阅读:
    nignx的master进程和worker进程的作用
    JVM运行机制
    ElasticSearch介绍与安装
    Maven打可执行包的pom.xml配置
    pg按日,周,月进行数据统计
    数据库中重复数据查询和删除
    聚类算法的评估应面向具体问题
    将博客搬至CSDN
    Mutual Information
    层次化聚类
  • 原文地址:https://www.cnblogs.com/yongbin668/p/5592786.html
Copyright © 2011-2022 走看看