javascript 实现图片的拖动效果

 

  
  
  
  
  1. <html> 
  2. <head> 
  3.     <title>图片拖动</title> 
  4.     <style type="text/css"> 
  5.         /*overflow设为hidden,就不会有滚动条显示,但是滚动条仍然存在, 
  6.           通过scrollTop和scrollLeft操作滚动条 
  7.         */ 
  8.         #wrap{width:500px; height:500px; overflow:hidden; border:1px solid red; margin:50px 300px;} 
  9.         #wrap div.inside{background-image:url(images/java.jpg); 
  10.                          background-repeat:no-reapt; 
  11.                          width:1000px;height:1000px; 
  12.                          cursor:pointer; 
  13.                         } 
  14.     </style> 
  15. </head> 
  16. <body> 
  17.     <div id = "wrap"> 
  18.         <div class="inside"></div> 
  19.     </div> 
  20.      
  21.     <script type="text/javascript"> 
  22.         //获取外层div的对象 
  23.         var wrap = document.getElementById("wrap"); 
  24.         //给外层div添加事件 
  25.         wrap.onmousedown = mouseDown
  26.         wrapwrap.onmouseout = wrap.onmouseup = mouseUp
  27.         wrap.onmousemove = mouseMove
  28.          
  29.         //json法创建一个对象 
  30.         //x,y保存鼠标的坐标,buttonDown记录鼠标按下的状态(初始值为0和未按下) 
  31.         var point = {x:0, y:0, buttonDown:false}; 
  32.  
  33.         function mouseDown(e){ 
  34.             //获得事件参数对象 
  35.             ee = e || window.event; 
  36.             //e.offsetX获取鼠标指针相对于事件源元素的的位置 
  37.             point.x = e.offsetX; 
  38.             point.y = e.offsetY; 
  39.             //一旦调用表示已经按下,变为true 
  40.             point.buttonDown = true
  41.         } 
  42.          
  43.         function mouseUp(){ 
  44.             point.buttonDown = false;    
  45.         } 
  46.          
  47.         function mouseMove(e){ 
  48.             //获得事件参数对象 
  49.             ee = e || window.event; 
  50.             //鼠标移动并且按下 
  51.             if(point.buttonDown){ 
  52.                 //外层div通过加有滚动条而查看内层较大的div内容,所以scrollLeft是外层div的属性 
  53.                 wrap.scrollLeft += point.x - e.offsetX; 
  54.                 wrap.scrollTop += point.y - e.offsetY; 
  55.             } 
  56.         } 
  57.     </script> 
  58. </body> 
  59. </html> 

 

本文出自 “聚沙成塔” 博客,谢绝转载!

你可能感兴趣的:(JavaScript)