一个和 层拖动及类 相关的问题
<body>  
  <div   id= "d1 "   style= "   position:absolute;   top:10px;   left:10px;   border-color:#0000FF;   background-color:#00FF00;   border-style:solid;   height:60px;   width:60px; "> 鼠标拖拽1 </div>  
  <div   id= "d2 "   style= "   position:absolute;   top:10px;   left:200px;   border-color:#0000FF;   background-color:#00FF00;   border-style:solid;   height:60px;   width:60px; "> 鼠标拖拽2 </div>    
  </body>  
  <script   language= "javascript ">    
 function   g(a) 
 { 
 	di=document.getElementById(a); 
 	var   sx,sy;  	 
 	function   move() 
 	{ 
 		di.style.top=event.clientY-sy+ 'px '; 
 		di.style.left=event.clientX-sx+ 'px ';  		 
 	} 
 	function   stopM() 
 	{	 
 		di.onmousemove=null; 
 		//this.sx=0;this.sy=0; 
 	} 
 	function   obj() 
 	{ 
 		sy=event.clientY-Number(di.style.top.substr(0,di.style.top.indexOf( 'px ')));//计算点击时鼠标座标与div层顶点座标差 
 		sx=event.clientX-Number(di.style.left.substr(0,di.style.left.indexOf( 'px '))); 
 		di.onmousemove=move; 
 		di.onmouseup=stopM; 
 	} 
 	di.onmousedown=obj; 
 }   
 a=new   g( "d1 "); 
 b=new   g( "d2 "); 
  </script>  
  </html>    
 初学script,请高手帮忙找错.
------解决方案--------------------...建议到网上搜一个关于层拖动的例子,有很多,自己看下。你这写的....
------解决方案--------------------闭包:   
  <html>    
  <head>  
  <meta http-equiv= "Content-Type " content= "text/html; charset=gb2312 ">  
  <title> 新建网页 1 </title>  
  </head>    
  <body>  
  <div id= "d1 " style= " position:absolute; top:10px; left:10px; border-color:#0000FF; background-color:#00FF00; border-style:solid; height:60px; width:60px; "> 鼠标拖拽1 </div>  
  <div id= "d2 " style= " position:absolute; top:10px; left:200px; border-color:#0000FF; background-color:#00FF00; border-style:solid; height:60px; width:60px; "> 鼠标拖拽2 </div>    
  </body>  
  <script language= "javascript ">    
 function g(a) 
 { 
 di=document.getElementById(a); 
 var sx,sy;   
 function move(di) 
 { 
 return function(){ 
 di.style.top=event.clientY-sy+ 'px '; 
 di.style.left=event.clientX-sx+ 'px '; 
 } 
 } 
 function stopM(di) 
 { 
 return function(){ 
 di.onmousemove=null; 
 //this.sx=0;this.sy=0; 
 } 
 } 
 function obj(di) 
 { 
 return function(){ 
 sy=event.clientY-Number(di.style.top.substr(0,di.style.top.indexOf( 'px ')));//计算点击时鼠标座标与div层顶点座标差 
 sx=event.clientX-Number(di.style.left.substr(0,di.style.left.indexOf( 'px '))); 
 di.onmousemove=move(di); 
 di.onmouseup=stopM(di); 
 } 
 } 
 di.onmousedown=obj(di); 
 }   
 a=new g( "d1 "); 
 b=new g( "d2 "); 
  </script>  
  </html>