changeproperty.js
上传用户:yfdli66
上传日期:2010-02-20
资源大小:47k
文件大小:4k
源码类别:

JavaScript

开发平台:

JavaScript

  1. /*------------------------------------------------------------------------------
  2. +                        属性的改变                             +
  3. +                                                        +
  4. +                           +
  5. -------------------------------------------------------------------------------*/
  6. //改变属性策略角色接口
  7. function ChangePropertyStrategy (aSObj) {
  8. //interface
  9. this.sObj = aSObj;         //当前所选控件
  10. this.change = change;
  11. function change () {
  12. }
  13. }
  14. //改变 name
  15. function ChangeNameSty (aSObj) {
  16. //inhert
  17.      this.base=ChangePropertyStrategy;
  18.         this.base(aSObj);
  19. //property
  20. this.inputValue;
  21. //override
  22. this.change = change;
  23. function change () {
  24. this.sObj.lastChild.innerText = this.inputValue;
  25. }
  26. }
  27. //改变 left
  28. function ChangeLeftSty (aSObj) {
  29. //inhert
  30.      this.base=ChangePropertyStrategy;
  31.         this.base(aSObj);
  32. //property
  33. this.inputValue;
  34. this.canvasObj;
  35. //override
  36. this.change = change;
  37. function change () {
  38. var myLeft = this.inputValue;
  39. this.sObj.style.pixelLeft=myLeft;
  40.             var rx = this.sObj.style.pixelLeft;
  41. var sx = this.canvasObj.clientWidth-(this.sObj.style.pixelLeft+this.sObj.clientWidth);
  42. if( rx<0 ) this.sObj.style.left = 0;
  43. if( sx<0 ) this.sObj.style.left = this.canvasObj.clientWidth-this.sObj.clientWidth;
  44. }
  45. }
  46. //改变 Top
  47. function ChangeTopSty (aSObj) {
  48. //inhert
  49.      this.base=ChangePropertyStrategy;
  50.         this.base(aSObj);
  51. //property
  52. this.inputValue;
  53. this.canvasObj;
  54. //override
  55. this.change = change;
  56. function change () {
  57. var myTop = this.inputValue;
  58. this.sObj.style.pixelTop=myTop;
  59.             var ry = this.sObj.style.pixelTop;
  60. var sy = this.canvasObj.clientHeight-(this.sObj.style.pixelTop+this.sObj.clientHeight);
  61. if( ry<0 ) this.sObj.style.top = 0;
  62. if( sy<0 ) this.sObj.style.top = this.canvasObj.clientHeight-this.sObj.clientHeight;
  63. }
  64. }
  65. //改变 view
  66. function ChangeViewSty (aSObj) {
  67. //inhert
  68.      this.base=ChangePropertyStrategy;
  69.         this.base(aSObj);
  70. //property
  71. this.inputValue;
  72. //override
  73. this.change = change;
  74. function change () {
  75. this.sObj.view = this.inputValue;
  76. }
  77. }
  78. //改变 auto
  79. function ChangeAutoSty (aSObj) {
  80. //inhert
  81.      this.base=ChangePropertyStrategy;
  82.         this.base(aSObj);
  83. //property
  84. this.inputValue;
  85. //override
  86. this.change = change;
  87. function change () {
  88. this.sObj.auto = this.inputValue;
  89. }
  90. }
  91. //改变 ConditionType
  92. function ChangeConditionTypeSty (aSObj) {
  93. //inhert
  94.      this.base=ChangePropertyStrategy;
  95.         this.base(aSObj);
  96. //property
  97. this.inputValue;
  98. //override
  99. this.change = change;
  100. function change () {
  101. this.sObj.conditionType = this.inputValue;
  102. }
  103. }
  104. //改变 Owner
  105. function ChangeOwnerSty (aSObj) {
  106. //inhert
  107.      this.base=ChangePropertyStrategy;
  108.         this.base(aSObj);
  109. //property
  110. this.inputValue;
  111. //override
  112. this.change = change;
  113. function change () {
  114. this.sObj.owner = this.inputValue;
  115. }
  116. }
  117. //改变 status
  118. function ChangeStatusSty (aSObj) {
  119. //inhert
  120.      this.base=ChangePropertyStrategy;
  121.         this.base(aSObj);
  122. //property
  123. this.inputValue;
  124. //override
  125. this.change = change;
  126. function change () {
  127. this.sObj.status = this.inputValue;
  128. }
  129. }
  130. //改变 old-status
  131. function ChangeOldStatusSty (aSObj) {
  132. //inhert
  133.      this.base=ChangePropertyStrategy;
  134.         this.base(aSObj);
  135. //property
  136. this.inputValue;
  137. //override
  138. this.change = change;
  139. function change () {
  140. this.sObj.oldStatus = this.inputValue;
  141. }
  142. }
  143. //环境角色 改变对象属性
  144. function ChangePropertyContext () {
  145. //property
  146. this.changePropertyStrategy;
  147. //method
  148. this.setStrategy = setStrategy;
  149. this.changeProperty = changeProperty;
  150. function setStrategy (aChangePropertyStrategy) {
  151. this.changePropertyStrategy = aChangePropertyStrategy;
  152. }
  153. function changeProperty () {
  154. return this.changePropertyStrategy.change();
  155. }
  156. }