【ife】任务三十九:UI组件之冻结行列表格
2017-01-12 17:04
246 查看
window.onload = function() { var students = []; students[0] = new Student("小A", 80, 90, 70); students[1] = new Student("小B", 90, 60, 90); students[2] = new Student("小C", 60, 100, 70); students[3] = new Student("小D", 70, 80, 80); students[4] = new Student("小E", 100, 70, 60); students[5] = new Student("小F", 60, 100, 80); students[6] = new Student("小G", 70, 90, 90); students[7] = new Student("小H", 80, 80, 100); students[8] = new Student("小I", 90, 70, 60); students[9] = new Student("小J", 100, 60, 70); createTable(students); var imgs = document.getElementsByTagName("img"); for (var i = 0; i < imgs.length; i++) { imgs[i].onclick = function() { var id = this.getAttribute("id"); if (id.indexOf("Up") != -1) upSort(students, id.slice(0, -2)); else downSort(students, id.slice(0, -4)); clearTable(); createTable(students); } } var flag = 0; document.onscroll = function() { var table = document.getElementsByTagName("table")[0]; var th = table.getElementsByTagName('tr')[0]; if (table.offsetTop <= document.body.scrollTop) { th.style.position = 'fixed'; th.style.top = '0px'; if (flag == 0) { for (var i = 0; i < imgs.length; i++) { imgs[i].style.position = 'fixed'; if (i % 2 == 0) imgs[i].style.top = '8px'; else imgs[i].style.top = '18px'; } flag = 1; } if (document.body.scrollTop > table.offsetHeight + 622) { th.style.position = 'relative'; if (flag == 1) { for (var i = 0; i < imgs.length; i++) { imgs[i].style.position = 'absolute'; if (i % 2 == 0) imgs[i].style.top = '654px'; else imgs[i].style.top = '664px'; } flag = 0; } } } else { th.style.position = 'relative'; if (flag == 1) { for (var i = 0; i < imgs.length; i++) { imgs[i].style.position = 'absolute'; if (i % 2 == 0) imgs[i].style.top = '654px'; else imgs[i].style.top = '664px'; } flag = 0; } } }; } function Student(name, math, Chinese, English) { this.name = name; this.math = math; this.Chinese = Chinese; this.English = English; this.total = math + Chinese + English; } function createTable(students) { var table = document.getElementsByTagName("table")[0]; var tr = ""; for (var i = 0; i < students.length; i++) tr += '<tr><td>' + students[i].name + '</td><td>' + students[i].math + '</td><td>' + students[i].Chinese + '</td><td>' + students[i].English + '</td><td>' + students[i].total +'</td></tr>' table.innerHTML += tr; } function clearTable(students) { var table = document.getElementsByTagName("table")[0]; table.innerHTML = "<tr><th>姓名</th><th>数学</th><th>语文</th><th>英语</th><th>总分</th></tr>"; } function upSort(students, key) { students.sort(function(student1, student2) { return student1[key] - student2[key]; }); return students; } function downSort(students, key) { students.sort(function(student1, student2) { return student2[key] - student1[key]; }); return students; }
相关文章推荐
- IFE-TASK38(任务三十八:UI组件之排序表格)
- 【ife】任务三十八:UI组件之排序表格
- JQuery实现的行列冻结表格
- 【ife】任务四十:UI组件之日历组件(一)
- 【ife】任务四十二:UI组件之日历组件(三)
- 【ife】任务四十一:UI组件之日历组件(二)
- 【ife】任务三十七:UI组件之浮出层
- IFE-TASK37(任务三十七:UI组件之浮出层)
- JavaScript实现的数据表格:冻结列、调整列宽和客户端排序
- DOM(二)-09-(示例-创建表格-指定行列)
- html+jquery 冻结表格表头
- 固定表格行列(expression)
- html中表格table的行列合并问题解决
- 实现表格冻结顶栏效果
- jQuery+CSS实现的table表格行列转置功能示例
- HTML 行列冻结
- jQuery实现冻结表格行和列
- excel冻结窗格--冻结行列标题
- kendoUI组件扩展3--冻结列(待完善)
- 【ife】任务十八:基础JavaScript练习(一)