78 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			78 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 | |
| <html xmlns="http://www.w3c.org/1999/xhtml">
 | |
| <head>
 | |
| <title>Circles in boxes</title>
 | |
| <style type='text/css'>
 | |
| * {
 | |
|   margin:0;
 | |
|   padding:0;
 | |
|   }
 | |
| 
 | |
| canvas {
 | |
|   position:absolute;
 | |
|   top:50%;
 | |
|   left:50%;
 | |
|   margin-top:-200px;
 | |
|   margin-left:-320px;
 | |
|   border:1px solid #000;
 | |
|   }
 | |
| </style>
 | |
| <script type='text/javascript'>
 | |
| 
 | |
| function getwh() {
 | |
| if (self.innerHeight) {
 | |
| h=self.innerHeight
 | |
| w=self.innerWidth
 | |
| }
 | |
| else if (document.documentElement && document.documentElement.clientHeight) {
 | |
| h=document.documentElement.clientHeight
 | |
| w=document.documentElement.clientHeight
 | |
| }
 | |
| else if (document.body) {
 | |
| h=document.body.clientHeight
 | |
| w=document.body.clientWidth
 | |
| }
 | |
| }
 | |
| 
 | |
| function mm(e) {
 | |
| getwh()
 | |
| x=Math.floor(e.pageX-(w-642)/2-2)
 | |
| y=Math.floor(e.pageY-(h-402)/2-2)
 | |
| if (x<0) x=0
 | |
| if (x>639) x=639
 | |
| if (y<0) y=0
 | |
| if (y>399) y=399
 | |
| x=(x-320)*(-1)+160
 | |
| if (x>320) x=320
 | |
| if (x<160) lx=160
 | |
| else lx=x
 | |
| if (x<0) x=0
 | |
| if (x>160) rx=150
 | |
| else rx=x*(-1)+310
 | |
| lw=x-10
 | |
| if (lw<150) lw=150
 | |
| rw=310-x
 | |
| if (rw<150) rw=150
 | |
| lh=lw*390/310
 | |
| rh=rw*390/310
 | |
| 
 | |
| var ctx=document.getElementById('canvas').getContext('2d')
 | |
| ctx.lineWidth=2
 | |
| ctx.clearRect(0,0,640,400)
 | |
| ctx.strokeRect(320-lx+5,(390-lh)/2+5,lx-10,lh)
 | |
| ctx.strokeRect(325,(390-rh)/2+5,rx,rh)
 | |
| ctx.beginPath()
 | |
| ctx.arc(lw/2-lx+325,lh/2+(390-lh)/2+5,lw/4,0,Math.PI*2,true)
 | |
| ctx.stroke()
 | |
| ctx.beginPath()
 | |
| ctx.arc(rw/2+rw-rx+325,rh/2+(390-rh)/2+5,rw/4,0,Math.PI*2,true)
 | |
| ctx.stroke()
 | |
| }
 | |
| 
 | |
| document.onmousemove=mm
 | |
| </script>
 | |
| </head>
 | |
| <body>
 | |
| <canvas id='canvas' width='640' height='400'></canvas>
 | |
| </body>
 | |
| </html> |