zhiqim_coder.js 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. /*
  2. * 版权所有 (C) 2015 知启蒙(ZHIQIM) 保留所有权利。
  3. *
  4. * 指定登记&发行网站: https://www.zhiqim.com/ 欢迎加盟知启蒙,[编程有你,知启蒙一路随行]。
  5. *
  6. * 本文采用《知启蒙登记发行许可证》,除非符合许可证,否则不可使用该文件!
  7. * 1、您可以免费使用、修改、合并、出版发行和分发,再授权软件、软件副本及衍生软件;
  8. * 2、您用于商业用途时,必须在原作者指定的登记网站,按原作者要求进行登记;
  9. * 3、您在使用、修改、合并、出版发行和分发时,必须包含版权声明、许可声明,及保留原作者的著作权、商标和专利等知识产权;
  10. * 4、您在互联网、移动互联网等大众网络下发行和分发再授权软件、软件副本及衍生软件时,必须在原作者指定的发行网站进行发行和分发;
  11. * 5、您可以在以下链接获取一个完整的许可证副本。
  12. *
  13. * 许可证链接:http://zhiqim.org/licenses/zhiqim_register_publish_license.htm
  14. *
  15. * 除非法律需要或书面同意,软件由原始码方式提供,无任何明示或暗示的保证和条件。详见完整许可证的权限和限制。
  16. */
  17. +(function(Z)
  18. {//BEGIN
  19. // @version v1.1.0 @author zouzhigang 2015-11-12 新建与整理
  20. /********************************************/
  21. //选择框定义和加载转换成下拉列表对象
  22. /********************************************/
  23. Z.Coder = Z.Class.newInstance();
  24. Z.Coder.v = "1.4.0";
  25. Z.Coder.prototype =
  26. {
  27. defaults:
  28. {
  29. elem: null
  30. },
  31. init: function()
  32. {//初始化
  33. if (!this.elem)
  34. return;
  35. this.$elem = Z(this.elem);
  36. }
  37. };
  38. //缓存加载函数
  39. Z.Coder.cache = [];
  40. Z.Coder.load = function()
  41. {
  42. //1.先删除原来的缓存
  43. Z.each(Z.Coder.cache, function(coder){
  44. coder.remove();
  45. });
  46. Z.Coder.cache = [];
  47. //2.再加载所有的选择框
  48. var elements = Z.D.attrs("data-role", "z-coder");
  49. if (!elements || elements.length == 0)
  50. return;
  51. Z.each(elements, function(elem)
  52. {
  53. var $textarea = Z(elem).hidden();
  54. //取出父节点的绝对位置
  55. var offsetTop = $textarea.offsetTop();
  56. var offsetLeft = $textarea.offsetLeft();
  57. var width = $textarea.offsetWidth();
  58. var height = $textarea.offsetHeight();
  59. var id = Z.S.trim($textarea.attr("id"));
  60. var name = Z.S.trim($textarea.attr("name"))
  61. var classes = Z.S.trim($textarea.attr("data-class"));
  62. var coder = '<div class="z-coder">'
  63. + '</div>';
  64. var $elem = Z(coder).appendToPos($textarea.parent());
  65. $elem.addClass(classes).css({position: "absolute", top: offsetTop, left: offsetLeft, width: width, height: height});
  66. $elem.attr("data-id", id).attr("data-name", name);
  67. Z.Coder.cache.push(new Z.Coder({elem: $elem[0]}));
  68. });
  69. };
  70. Z.onload(Z.Coder.load);
  71. //END
  72. })(zhiqim);