haifm.js 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. var haifm = new Object();
  2. var lightbox = null;
  3. var processDialog = null;
  4. var errorbox = null;
  5. var errorInfo = null;
  6. var haifmMaxIndex = 300;
  7. //显示加载器
  8. function showLoader() {
  9. //显示加载器.for jQuery Mobile 1.2.0
  10. $.mobile.loading('show', {
  11. text: '加载中...', //加载器中显示的文字
  12. textVisible: true, //是否显示文字
  13. theme: 'a', //加载器主题样式a-e
  14. textonly: false, //是否只显示文字
  15. html: "加载中..." //要显示的html内容,如图片等
  16. });
  17. }
  18. //隐藏加载器.for jQuery Mobile 1.2.0
  19. function hideLoader() {
  20. //隐藏加载器
  21. $.mobile.loading('hide');
  22. }
  23. haifm.loadMobilePage = function (id, url, param, callback) {
  24. var obj = $("#" + id);
  25. //showLoader();
  26. var loadDivObj = jQuery('<div style="border:none;"><table cellspacing="0" cellpadding="0" height="60" style="border:none;"><tr style="border:none;"><td width="29%" style="border:none;"><div align="right" style="border:none;"><img src="images/progress.gif" /><div style="border:none;"><td style="border:none;"><td style="border:none;color:#000;">页面加载中,请稍候...</td></tr></table></div>');
  27. obj.empty().append(loadDivObj);
  28. if (typeof(param) == 'undefined') {
  29. jQuery.ajaxSetup({
  30. cache: false
  31. });
  32. }
  33. obj.load(url, param, function () {
  34. //hideLoader();
  35. loadDivObj.hide("slow");
  36. if (callback) {
  37. callback();
  38. }
  39. });
  40. };
  41. haifm.showError = function (errorMsg) {
  42. if (errorbox != null && errorInfo != null) {
  43. errorInfo.empty();
  44. jQuery('<div align="right" style="border:none;"><img onclick="haifm.closeError();" src="images/close.gif" width="44" height="20"></div>')
  45. .appendTo(errorInfo);
  46. jQuery(errorMsg).appendTo(errorInfo);
  47. errorInfo.show();
  48. errorbox.show();
  49. return;
  50. }
  51. var errorDiv = document.createElement("div");
  52. errorDiv.id = "errorBox";
  53. errorDiv.style.cssText = "position:absolute;left:0px;display:none;top:0px;width:100%;background:#dddddd;text-align:center;filter:Alpha(Opacity=50,Style=0);opacity:0.4";
  54. errorDiv.style.height = ((document.documentElement.clientHeight > document.documentElement.scrollHeight)
  55. ? document.documentElement.clientHeight
  56. : document.documentElement.scrollHeight)
  57. + "px";
  58. var errorInfoDiv = document.createElement("div");
  59. errorInfoDiv.id = "errorInfoDiv";
  60. errorInfoDiv.style.cssText = "position:absolute;width:800px;height:auto;text-align:center;z-index:10001;border: 1px #1fa700 solid;top:"
  61. + (+50 + document.documentElement.scrollTop)
  62. + "px"
  63. + ";left:10%;font-size: 14px;background: url(images/load_bg.gif) repeat-x #ffffff;";
  64. jQuery('<div align="right"><img onclick="haifm.closeError();" src="images/close.gif" width="44" height="20"></div>')
  65. .appendTo(errorInfoDiv);
  66. jQuery(errorMsg).appendTo(errorInfoDiv);
  67. // 解决遮住下拉框
  68. var iframeHTML = '<IFRAME style="DISPLAY: block; Z-INDEX: -1; FILTER: alpha(opacity=0); LEFT: 0px; WIDTH: 100%; ZOOM: 1; POSITION: absolute; TOP: 0px; HEIGHT: 100%" src="javascript:false;document.write(\'\')" frameborder="0" scrolling="no"></IFRAME>';
  69. document.body.appendChild(errorInfoDiv);
  70. document.body.appendChild(errorDiv);
  71. errorbox = jQuery(errorDiv);
  72. errorbox.css('zIndex', (++haifmMaxIndex));
  73. errorInfo = jQuery(errorInfoDiv);
  74. errorbox.append(iframeHTML);
  75. errorInfo.show();
  76. errorbox.show();
  77. };
  78. haifm.closeError = function () {
  79. errorbox.hide();
  80. errorInfo.hide();
  81. };
  82. haifm.alertBanner = {
  83. alertTimer: undefined,
  84. alertFragment: document.createDocumentFragment(),
  85. t: 3000,
  86. /**
  87. * @description rise the alertBanner and then vanish
  88. * @param {string} status 状态
  89. * @param {number} t 定时时长,可选,默认3秒
  90. * @param msg 警告栏的内容
  91. * @return 浮现警告栏并自动消失
  92. */
  93. riseAlert: function (status, t, msg) {
  94. clearTimeout(this.alertTimer);
  95. $('.alert').remove();
  96. var alertDiv = document.createElement('DIV');
  97. alertDiv.id = 'alertBanner';
  98. if (!msg) {
  99. if (status) {
  100. msg = "保存成功";
  101. } else {
  102. msg = "保存失败";
  103. }
  104. }
  105. if (status) {
  106. alertDiv.className = 'alert alert-success fade in';
  107. alertDiv.innerHTML = msg;
  108. } else {
  109. alertDiv.className = 'alert alert-danger fade in';
  110. alertDiv.innerHTML = msg;
  111. }
  112. this.alertFragment.appendChild(alertDiv);
  113. document.body.appendChild(this.alertFragment);
  114. if (!t) {
  115. t = this.t;
  116. }
  117. this.alertTimer = setTimeout(function () {
  118. $('.alert').remove();
  119. }, t);
  120. }
  121. };