genericMove.js
上传用户:llrg7406
上传日期:2007-03-02
资源大小:654k
文件大小:2k
源码类别:

教育系统应用

开发平台:

Delphi

  1. var dragobject = null;
  2. var tx;
  3. var ty;
  4. function getReal(el) {
  5. temp = el;
  6. while ((temp != null) && (temp.tagName != "BODY")) {
  7. if ((temp.className == "moveme") || (temp.className == "handle")){
  8. el = temp;
  9. return el;
  10. }
  11. temp = temp.parentElement;
  12. }
  13. return el;
  14. }
  15. function moveme_onmousedown() {
  16. el = getReal(window.event.srcElement)
  17. if (el.className == "moveme") {
  18. dragobject = el;
  19. ty = (window.event.clientY - dragobject.style.pixelTop);
  20. tx = (window.event.clientX - dragobject.style.pixelLeft);
  21. window.event.returnValue = false;
  22. window.event.cancelBubble = true;
  23. }
  24. else if (el.className == "handle") {
  25. tmp = el.getAttribute("for");
  26. if (tmp != null) {
  27. el = eval(tmp);
  28. dragobject = el;
  29. ty = (window.event.clientY - dragobject.style.pixelTop);
  30. tx = (window.event.clientX - dragobject.style.pixelLeft);
  31. window.event.returnValue = false;
  32. window.event.cancelBubble = true;
  33. }
  34. else {
  35. dragobject = null;
  36. }
  37. }
  38. else {
  39. dragobject = null;
  40. }
  41. }
  42. function moveme_onmouseup() {
  43. if(dragobject) {
  44. dragobject = null;
  45. }
  46. }
  47. function moveme_onmousemove() {
  48. if (dragobject) {
  49. if(window.event.clientX >= 0) {
  50. dragobject.style.left = window.event.clientX - tx;
  51. dragobject.style.top = window.event.clientY - ty;
  52. }
  53. window.event.returnValue = false;
  54. window.event.cancelBubble = true;
  55. }
  56. }
  57. if (document.all) { //This only works in IE4 or better
  58. document.onmousedown = moveme_onmousedown;
  59. document.onmouseup = moveme_onmouseup;
  60. document.onmousemove = moveme_onmousemove;
  61. }
  62. document.write("<style>");
  63. document.write(".moveme {cursor: move;}");
  64. document.write(".handle {cursor: move;}");
  65. document.write("</style>");