




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1.1. 单击表头实现排序试验版本8.2Cognos_frank真情 制作A页面放的布局表头1个脚本,表后3个第一个js代码:第二个js代码:第三个js代码:var targetTable = document.getElementById(t00);targetTable.firstChild.id = rsTable;targetTable.firstC = rsTable;var tds = document.getElementById(rsTable).getElementsByTagName(TD);var s = 0;/remove nested span tags (this might effect previously applied customs styles)for (var i=0; itds.length; i+) var x = tdsi.firstChild.innerHTML;tdsi.removeChild(tdsi.firstChild);tdsi.innerHTML = x;ts_makeSortable(document.getElementById(rsTable);第四个代码:/addEvent(window, load, sortables_init);var SORT_COLUMN_INDEX;function sortables_init() / Find all tables with class sortable and make them sortable if (!document.getElementsByTagName) return; tbls = document.getElementsByTagName(table); for (ti=0;ti 0) var firstRow = table.rows0; if (!firstRow) return; / We have a first row: assume its the header, and make its contents clickable links for (var i=0;ifirstRow.cells.length;i+) var cell = firstRow.cellsi; var txt = ts_getInnerText(cell); cell.innerHTML = +txt+ function ts_getInnerText(el) if (typeof el = string) return el;if (typeof el = undefined) return el ;if (el.innerText) return el.innerText;/Not needed but it is fastervar str = ;var cs = el.childNodes;var l = cs.length;for (var i = 0; i l; i+) switch (csi.nodeType) case 1: /ELEMENT_NODEstr += ts_getInnerText(csi);break;case 3:/TEXT_NODEstr += csi.nodeValue;break;return str;function ts_resortTable(lnk) / get the span var span; for (var ci=0;cilnk.childNodes.length;ci+) if (lnk.childNodesci.tagName & lnk.childNodesci.tagName.toLowerCase() = span) span = lnk.childNodesci; var spantext = ts_getInnerText(span); var td = lnk.parentNode; var column = td.cellIndex; var table = getParent(td,TABLE); / Work out a type for the column if (table.rows.length = 1) return; var itm = ts_getInnerText(table.rows1.cellscolumn); sortfn = ts_sort_caseinsensitive; if (itm.match(/dd/-dd/-dddd$/) sortfn = ts_sort_date; if (itm.match(/dd/-dd/-dd$/) sortfn = ts_sort_date; if (itm.match(/?/) sortfn = ts_sort_currency; if (itm.match(/d.+$/) sortfn = ts_sort_numeric; SORT_COLUMN_INDEX = column; var firstRow = new Array(); var newRows = new Array(); for (i=0;itable.rows0.length;i+) firstRowi = table.rows0i; for (j=1;jtable.rows.length;j+) newRowsj-1 = table.rowsj; newRows.sort(sortfn); if (span.getAttribute(sortdir) = down) ARROW = ↑ newRows.reverse(); span.setAttribute(sortdir,up); else ARROW = ↓ span.setAttribute(sortdir,down); / We appendChild rows that already exist to the tbody, so it moves them rather than creating new ones / dont do sortbottom rows for (i=0;inewRows.length;i+) if (!newRowsi.className | (newRowsi.className & (newRowsi.className.indexOf(sortbottom) = -1) table.tBodies0.appendChild(newRowsi); / do sortbottom rows only for (i=0;inewRows.length;i+) if (newRowsi.className & (newRowsi.className.indexOf(sortbottom) != -1) table.tBodies0.appendChild(newRowsi); / Delete any other arrows there may be showing var allspans = document.getElementsByTagName(span); for (var ci=0;ciallspans.length;ci+) if (allspansci.className = sortarrow) if (getParent(allspansci,table) = getParent(lnk,table) / in the same table as us? allspansci.innerHTML = span.innerHTML = ARROW;function getParent(el, pTagName) if (el = null) return null;else if (el.nodeType = 1 & el.tagName.toLowerCase() = pTagName.toLowerCase()/ Gecko bug, supposed to be uppercasereturn el;elsereturn getParent(el.parentNode, pTagName);function ts_sort_date(a,b) / y2k notes: two digit years less than 50 are treated as 20XX, greater than 50 are treated as 19XX aa = ts_getInnerText(a.cellsSORT_COLUMN_INDEX); bb = ts_getInnerText(b.cellsSORT_COLUMN_INDEX); if (aa.length = 10) dt1 = aa.substr(6,4)+aa.substr(3,2)+aa.substr(0,2); else yr = aa.substr(6,2); if (parseInt(yr) 50) yr = 20+yr; else yr = 19+yr; dt1 = yr+aa.substr(3,2)+aa.substr(0,2); if (bb.length = 10) dt2 = bb.substr(6,4)+bb.substr(3,2)+bb.substr(0,2); else yr = bb.substr(6,2); if (parseInt(yr) 50) yr = 20+yr; else yr = 19+yr; dt2 = yr+bb.substr(3,2)+bb.substr(0,2); if (dt1=dt2) return 0; if (dt1dt2) return -1; return 1;function ts_sort_currency(a,b) aa = ts_getInnerText(a.cellsSORT_COLUMN_INDEX).replace(/0-9./g,); bb = ts_getInnerText(b.cellsSORT_COLUMN_INDEX).replace(/0-9./g,); return parseFloat(aa) - parseFloat(bb);function ts_sort_numeric(a,b) aa = parseFloat(ts_getInnerText(a.cellsSORT_COLUMN_INDEX); if (isNaN(aa) aa = 0; bb = parseFloat(ts_getInnerText(b.cellsSORT_COLUMN_INDEX); if (isNaN(bb) bb = 0; return aa-bb;function ts_sort_caseinsensitive(a,b) aa = ts_getInnerText(a.cellsSORT_COLUMN_INDEX).toLowerCase(); bb = ts_getInnerText(b.cellsSORT_COLUMN_INDEX).toLowerCase(); if (aa=bb) return 0; if (aabb) return -1; return 1;function ts_sort_default(a,b) aa = ts_getInnerText(a.cellsSORT_COLUMN_INDEX); bb = ts_getInnerText(b.cellsSORT_COLUMN_INDEX); if (aa=bb) return 0; if (aabb) return -1; return 1;function addEvent(elm, evType, fn, useCapture)/ addEvent and removeEvent/ cross-browser event handling for IE5+, NS6 and Mozilla/ By Scott Andrew if (elm.addEventListener) elm.addEventListener(evType, fn, useCapture); return true; else if (elm.attachEvent) var r = elm.attachEvent(on+evType, fn); return r; else alert(Handler could not be removed); ok 代码放完了 之后要列表命名,选中整个列表,将没页最大数显示最大1.2. 锁定表头这个是布局大家注意js脚本放的位置第一个代码:function doScrl(obj)var alltable = document.all.tags(TABLE)for(i=0;ialltable.length;i+) if(alltablei.className =ls) alltablei.rows0.style.pixelTop=-1+obj.scrollTopalltablei.rows1.style.pixelTop=-1+obj.scrollTop 第二个代码:第三个代码:var alltable = document.all.tags(TABLE)for(i=0;ialltable.length;i+) if(alltablei.className =ls) alltablei.rows0.style.left=0px;alltablei.rows0.style.top=0px;alltablei.rows0.style.position=relative; Ok了 这个也制作完毕了 还有什么问题 大家一起探讨。对了 这个脚本可能会有点缺陷,所以大家还需要修改一下。可能在表头锁定的时候会有一个缝隙,需要改动第一个js脚本。看下图 可能会有缝隙漏字体出来改动位置如下:在一个脚本中找到
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 家访记录表培训
- 情境测查考试题及答案
- java面试题及答案session
- oracle理论面试题及答案
- 健康素养考试题及答案
- 儿童哲学与教育
- 扶贫站面试题及答案
- 历史巢湖中考试题及答案
- 工业互联网平台量子密钥分发技术产业生态构建报告
- 特殊护理降温法
- 产品封样管理制度
- 2024年湖北襄阳市检察机关襄阳市城郊地区检察院招聘笔试参考题库附带答案详解
- 福建省建筑信息模型(BIM)技术应用指南
- 2024年江苏无锡市江阴信联担保有限公司招聘笔试参考题库含答案解析
- 2024国机集团财务资产纪检监察中心公开招聘2人高频考题难、易错点模拟试题(共500题)附带答案详解
- 检修质量管理课件
- 起重机械自查自纠报告
- 司机综合能力提升方案
- 博物馆搬迁方案
- 【英语06】高考英语985个考试大纲核心词
- 记账凭证模板1
评论
0/150
提交评论