var growHeightCount = 0; //保存初始化growHigh总数 var itemCount = 0; //保存每块需要初始化growHeight总数 var initCount = 0; //统计已经初始化growHigh总数 var initGrowHeightStatus = false; //初始化growHigh完成状态 //遮罩层样式 var zzc = '
加载中...
'; $(function () { //需要显示加载中,把该注释去掉 //$(jqContainerDiv).before(zzc); //去除注释,防止检查出错误内容 var temp = removerComment($(jqContentTemp).html()); itemCount = temp.match(/initGrowHigh/g).length; if (window.initFloatMenu) { initFloatMenu() } search(1); }) //设置加载总数 function setDataCount() { var r = Math.floor($(jqContainerDiv).height() / $(jqContentTemp).height()); var c = Math.floor($(jqContainerDiv).width() / $(jqContentTemp).width()); var dataCount = r * c; console.log("加载总数:" + dataCount); $("#rowCountPerPages").val(dataCount); } /** * 移除注释 * @param {Object} html */ function removerComment(html) { //匹配注释代码 var reg = /("([^\\\"]*(\\.)?)*")|('([^\\\']*(\\.)?)*')|(\/{2,}.*?(\r|\n|$))|(\/\*(\n|.)*?\*\/)/g; return html.replace(reg, function (word) { // 去除注释后的文本 return /^\/{2,}/.test(word) || /^\/\*/.test(word) ? "" : word; }); } //显示加载中 function loading(dataCount) { initGrowHeightStatus = false; $("#zzcLoad").show(); growHeightCount = dataCount * itemCount; initCount = 0; } /** * 加载结束 */ function loaded() { if (initGrowHeightStatus == false) { $("#zzcLoad").hide(); } initGrowHeightStatus = true; } /** * 初始化growHigh * @param {Object} areaId * @param {Object} maxHeight * @param {Object} buttons * @param {Object} multimedia */ function initGrowHigh(areaId, maxHeight, buttons, multimedia) { setTimeout(() => { delete growHeightList[areaId]; wd.display.initGrowHigh(areaId, maxHeight, buttons); initGrowHeightResult(); }, 0) } /** * 初始化结果,完成就执行显示 */ function initGrowHeightResult() { initCount = initCount + 1; if (growHeightCount <= initCount) { loaded(); } } function search(isClickSerch) { setDataCount(); $("#float_menu").hide(); if (isClickSerch == 1) { $("input[name=currentPageNo]").val(1); } $.ajax({ type: "post", url: searchUrl, data: $("#form").serialize(), dataType: "json", success: function (result) { var page = result.wdPage; setPage(page); $(jqContainerDiv).empty(); var data = result[dataName]; var html = loadHtml(data); //提高效果,先隐藏,等初始化完growHeight loading(data.length); $(jqContainerDiv).append(html); setTimeout(() => { //三秒后,不管growHigh初始化完不完成都显示 loaded(); }, 3000); addCheck(); } }); } function addCheck() { var all = $(".sideList"); for (var i = 0; i < all.length; i++) { var id = $(all[i]).attr(objId); var findItem = $(jqContainerDiv).find("div[" + objId + "='" + id + "']"); if (findItem) { var xzzt = findItem.find(".xzzt"); xzzt.removeClass(uncheck).addClass(check); } } } function setPage(page) { if (page) { $("span.totalNumber").text("共 " + page.rowNum + " 条"); // + page.rowCount +。Lin $("span.prevNumber").text(page.pageNo); // (page.currentPageNo)。Lin var totalPageNumber = 0; //总页数 if (page.rowNum / page.rowNumPer > Number.parseInt(page.rowNum / page.rowNumPer)) { // (page.rowCount / page.rowCountPerPage))。Lin totalPageNumber = Number.parseInt(page.rowNum / page.rowNumPer) + 1; // (page.rowCount / page.rowCountPerPage)。Lin } else { totalPageNumber = Number.parseInt(page.rowNum / page.rowNumPer); // (page.rowCount / page.rowCountPerPage)。Lin } $("span.nextNumber").text(totalPageNumber); $("input[name=totalPageNo]").val(totalPageNumber); } } function prev() { $("#float_menu").hide(); var currentPageNoObj = $("input[name=pageNo]"); // [name=currentPageNo]。Lin if (currentPageNoObj.val()) { var currentPageNo = Number.parseInt(currentPageNoObj.val()); if (currentPageNo == 1) { //第一页 currentPageNoObj.val(1); } else { //上一页 currentPageNoObj.val(currentPageNo - 1); search(); } } else { currentPageNoObj.val(1); } } function next() { $("#float_menu").hide(); var totalPageNo = Number.parseInt($("input[name=totalPageNo]").val()); var currentPageNoObj = $("input[name=pageNo]"); // [name=currentPageNo]。Lin if (currentPageNoObj.val()) { var currentPageNo = Number.parseInt(currentPageNoObj.val()); if (currentPageNo < totalPageNo) { //下一页 currentPageNoObj.val(currentPageNo + 1); search(); } else { //最后一页 currentPageNoObj.val(totalPageNo); } } } function replaceHtml(html, json) { var re = /@\{[\w.]*}@/g; // = /#\{[\w\.]*\}/g。Lin var all = html.match(re); if (!all) // 增加,避免抛出错误。Lin return html; for (var i = 0; i < all.length; i++) { var item = all[i]; var value = getValue(item, json); var re = new RegExp(item, "g"); html = html.replace(re, value); } return html; } function getValue(item, json) { /* 改,取不到 "xxx" -- 原为 "#{title}",改为 "@{title}@"。Lin var key = item.substring(2, item.length - 1); */ var key = item.substring(2, item.length -2); var val = json[key]; if (val == undefined || val == null) { val = ""; var tJson = json; if (key.indexOf(".") > -1) { var keys = key.split("."); for (var $i = 0; $i < keys.length; $i++) { var $key = keys[$i]; if ($i == keys.length - 1) { val = tJson[$key]; } tJson = tJson[$key]; if (!tJson) { break; } } } } if (val == undefined || val == null) { return ""; } return val; } function loadHtml(data) { var html = ""; if (data) { for (var i = 0; i < data.length; i++) { var item = data[i]; item["index"] = i; item["init"] = "true"; converValue(item); var liHtml = $(jqContentTemp).html(); html += replaceHtml(liHtml, item); } } return html; } function loadImge(item, data) { if (data && window.loadImage) { return loadImage + encodeURIComponent(data); } else { return errorImage; } } function converValue(data) { if (!window.converMap) { converMap = {} } converMap["sltwj"] = { repName: "sltwj", format: loadImge } converMap["zjzwj"] = { repName: "zjzwj", format: loadImge } for (var key in converMap) { var value = data[key]; var keyItem = converMap[key]; var repName = keyItem["repName"]; if (repName) { //方法转换 var converValue = keyItem["format"](data, value); data[repName] = converValue; } else { //固定值转换 var converItem = keyItem[value]; for (var itemKey in converItem) { data[itemKey] = converItem[itemKey]; } } } }