You are currently browsing the archives of 乱七八糟 .

页面实现拖动效果

drag(o,s)

drag(obj [,scroll]);

obj:对象的id或对象本身;

scroll(可选):对象是否随窗口拖动而滑动,默认为否鼠标右键查看源代码

点此查看效果

  1. function drag(o,s)
  2. {
  3. if (typeof o == "string") o = document.getElementById(o);
  4. o.orig_x = parseInt(o.style.left) - document.body.scrollLeft;
  5. o.orig_y = parseInt(o.style.top) - document.body.scrollTop;
  6. o.orig_index = o.style.zIndex;
  7. o.onmousedown = function(a)
  8. {
  9. this.style.cursor = "move";
  10. this.style.zIndex = 10000;
  11. var d=document;
  12. if(!a)a=window.event;
  13. var x = a.clientX+d.body.scrollLeft-o.offsetLeft;
  14. var y = a.clientY+d.body.scrollTop-o.offsetTop;
  15. //author: www.longbill.cn
  16. d.ondragstart = "return false;"
  17. d.onselectstart = "return false;"
  18. d.onselect = "document.selection.empty();"
  19.  
  20. if(o.setCapture)
  21. o.setCapture();
  22. else if(window.captureEvents)
  23. window.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP);
  24. d.onmousemove = function(a)
  25. {
  26. if(!a)a=window.event;
  27. o.style.left = a.clientX+document.body.scrollLeft-x;
  28. o.style.top = a.clientY+document.body.scrollTop-y;
  29. o.orig_x = parseInt(o.style.left) - document.body.scrollLeft;
  30. o.orig_y = parseInt(o.style.top) - document.body.scrollTop;
  31. }
  32. d.onmouseup = function()
  33. {
  34. if(o.releaseCapture)
  35. o.releaseCapture();
  36. else if(window.captureEvents)
  37. window.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP);
  38. d.onmousemove = null;
  39. d.onmouseup = null;
  40. d.ondragstart = null;
  41. d.onselectstart = null;
  42. d.onselect = null;
  43. o.style.cursor = "normal";
  44. o.style.zIndex = o.orig_index;
  45. }
  46. }
  47.  
  48. if (s)
  49. {
  50. var orig_scroll = window.onscroll?window.onscroll:function (){};
  51. window.onscroll = function ()
  52. {
  53. orig_scroll();
  54. o.style.left = o.orig_x + document.body.scrollLeft;
  55. o.style.top = o.orig_y + document.body.scrollTop;
  56. }
  57. }
  58. }

Posted by shuck on Mar 11th 2008 | Filed in php技术 | 评论(0)