display.js
上传用户:kimgenplus
上传日期:2016-06-05
资源大小:20877k
文件大小:4k
源码类别:

OA系统

开发平台:

Java

  1. /*
  2. Copyright (c) 2004-2006, The Dojo Foundation
  3. All Rights Reserved.
  4. Licensed under the Academic Free License version 2.1 or above OR the
  5. modified BSD license. For more information on Dojo licensing, see:
  6. http://dojotoolkit.org/community/licensing.shtml
  7. */
  8. dojo.provide("dojo.html.display");
  9. dojo.require("dojo.html.style");
  10. dojo.html._toggle = function (node, tester, setter) {
  11. node = dojo.byId(node);
  12. setter(node, !tester(node));
  13. return tester(node);
  14. };
  15. dojo.html.show = function (node) {
  16. node = dojo.byId(node);
  17. if (dojo.html.getStyleProperty(node, "display") == "none") {
  18. dojo.html.setStyle(node, "display", (node.dojoDisplayCache || ""));
  19. node.dojoDisplayCache = undefined;
  20. }
  21. };
  22. dojo.html.hide = function (node) {
  23. node = dojo.byId(node);
  24. if (typeof node["dojoDisplayCache"] == "undefined") {
  25. var d = dojo.html.getStyleProperty(node, "display");
  26. if (d != "none") {
  27. node.dojoDisplayCache = d;
  28. }
  29. }
  30. dojo.html.setStyle(node, "display", "none");
  31. };
  32. dojo.html.setShowing = function (node, showing) {
  33. dojo.html[(showing ? "show" : "hide")](node);
  34. };
  35. dojo.html.isShowing = function (node) {
  36. return (dojo.html.getStyleProperty(node, "display") != "none");
  37. };
  38. dojo.html.toggleShowing = function (node) {
  39. return dojo.html._toggle(node, dojo.html.isShowing, dojo.html.setShowing);
  40. };
  41. dojo.html.displayMap = {tr:"", td:"", th:"", img:"inline", span:"inline", input:"inline", button:"inline"};
  42. dojo.html.suggestDisplayByTagName = function (node) {
  43. node = dojo.byId(node);
  44. if (node && node.tagName) {
  45. var tag = node.tagName.toLowerCase();
  46. return (tag in dojo.html.displayMap ? dojo.html.displayMap[tag] : "block");
  47. }
  48. };
  49. dojo.html.setDisplay = function (node, display) {
  50. dojo.html.setStyle(node, "display", ((display instanceof String || typeof display == "string") ? display : (display ? dojo.html.suggestDisplayByTagName(node) : "none")));
  51. };
  52. dojo.html.isDisplayed = function (node) {
  53. return (dojo.html.getComputedStyle(node, "display") != "none");
  54. };
  55. dojo.html.toggleDisplay = function (node) {
  56. return dojo.html._toggle(node, dojo.html.isDisplayed, dojo.html.setDisplay);
  57. };
  58. dojo.html.setVisibility = function (node, visibility) {
  59. dojo.html.setStyle(node, "visibility", ((visibility instanceof String || typeof visibility == "string") ? visibility : (visibility ? "visible" : "hidden")));
  60. };
  61. dojo.html.isVisible = function (node) {
  62. return (dojo.html.getComputedStyle(node, "visibility") != "hidden");
  63. };
  64. dojo.html.toggleVisibility = function (node) {
  65. return dojo.html._toggle(node, dojo.html.isVisible, dojo.html.setVisibility);
  66. };
  67. dojo.html.setOpacity = function (node, opacity, dontFixOpacity) {
  68. node = dojo.byId(node);
  69. var h = dojo.render.html;
  70. if (!dontFixOpacity) {
  71. if (opacity >= 1) {
  72. if (h.ie) {
  73. dojo.html.clearOpacity(node);
  74. return;
  75. } else {
  76. opacity = 0.999999;
  77. }
  78. } else {
  79. if (opacity < 0) {
  80. opacity = 0;
  81. }
  82. }
  83. }
  84. if (h.ie) {
  85. if (node.nodeName.toLowerCase() == "tr") {
  86. var tds = node.getElementsByTagName("td");
  87. for (var x = 0; x < tds.length; x++) {
  88. tds[x].style.filter = "Alpha(Opacity=" + opacity * 100 + ")";
  89. }
  90. }
  91. node.style.filter = "Alpha(Opacity=" + opacity * 100 + ")";
  92. } else {
  93. if (h.moz) {
  94. node.style.opacity = opacity;
  95. node.style.MozOpacity = opacity;
  96. } else {
  97. if (h.safari) {
  98. node.style.opacity = opacity;
  99. node.style.KhtmlOpacity = opacity;
  100. } else {
  101. node.style.opacity = opacity;
  102. }
  103. }
  104. }
  105. };
  106. dojo.html.clearOpacity = function (node) {
  107. node = dojo.byId(node);
  108. var ns = node.style;
  109. var h = dojo.render.html;
  110. if (h.ie) {
  111. try {
  112. if (node.filters && node.filters.alpha) {
  113. ns.filter = "";
  114. }
  115. }
  116. catch (e) {
  117. }
  118. } else {
  119. if (h.moz) {
  120. ns.opacity = 1;
  121. ns.MozOpacity = 1;
  122. } else {
  123. if (h.safari) {
  124. ns.opacity = 1;
  125. ns.KhtmlOpacity = 1;
  126. } else {
  127. ns.opacity = 1;
  128. }
  129. }
  130. }
  131. };
  132. dojo.html.getOpacity = function (node) {
  133. node = dojo.byId(node);
  134. var h = dojo.render.html;
  135. if (h.ie) {
  136. var opac = (node.filters && node.filters.alpha && typeof node.filters.alpha.opacity == "number" ? node.filters.alpha.opacity : 100) / 100;
  137. } else {
  138. var opac = node.style.opacity || node.style.MozOpacity || node.style.KhtmlOpacity || 1;
  139. }
  140. return opac >= 0.999999 ? 1 : Number(opac);
  141. };