[修改后]html+css 做成一个可浏览的表格
2015-04-01 11:39
351 查看
现在表格内容需要显示的要求如下:
1, 表格很大,界面放不小,需要放到div中。
2, 在div中可以用scroll滑动查看。
3, td中的内容保持在一行中。
4, 可以点击tr,然后可以选中并了解点击了哪行。
html:
css:
js:
给点击增加一个onmousedown事件处理。
可以一起交流。
--------------------------------------!!!
修改的分割线
收到博友daryluo的建议:“代码有一点不太好的地方,就是给每一个tr都添加了事件,事实上,只需要给table 一个元素添加事件就可以,当用户点击到td元素上时, 事件会冒泡到tr,然后到table, 在事件处理函数中,可以获取td 元素,然后找到父tr, tr上有rowIndex属性,就知道点击哪行了.”
于是,我把事件追加到了table上,通过手机evevt的srcElement找到td元素,然后通过parentNode找到其tr元素。再对此元素单独进行处理即可。
代码如下:
js:
刚刚开始入门,多谢指教。
1, 表格很大,界面放不小,需要放到div中。
2, 在div中可以用scroll滑动查看。
3, td中的内容保持在一行中。
4, 可以点击tr,然后可以选中并了解点击了哪行。
html:
<div id="div1"> <table id="table1"> <tr></tr> </table> <div>
css:
//div宽度要小于table就有scroll了。 #table1 {border-collapse:collapse;height:100;} #table1 table ,th, td {border: 1px solid black;} #table1 td{ width:230px; /*宽度根据需要设置,也可以设置百分比*/ height:25px;line-height:25px; /*高度也是根据需要设置*/ white-space:nowrap; /*文本显示不自动换行*/ /*overflow:hidden;*/ /*超出部分显示*/ } #div1 {border: 1px solid red;width:460; height:180px;overflow:scroll;}
js:
给点击增加一个onmousedown事件处理。
var trs = document.getElementById('table1').getElementsByTagName('tr'); var choose; window.onload = function(){ for( var i=0; i<trs.length; i++ ){ trs[i].onmousedown = function(){ tronmousedown(this); } } } function tronmousedown(obj){ for( var o=1; o<trs.length; o++ ){ if( trs[o] == obj ){ trs[o].style.backgroundColor = 'lightblue'; choose = o; } else{ trs[o].style.backgroundColor = ''; } } }
可以一起交流。
--------------------------------------!!!
修改的分割线
收到博友daryluo的建议:“代码有一点不太好的地方,就是给每一个tr都添加了事件,事实上,只需要给table 一个元素添加事件就可以,当用户点击到td元素上时, 事件会冒泡到tr,然后到table, 在事件处理函数中,可以获取td 元素,然后找到父tr, tr上有rowIndex属性,就知道点击哪行了.”
于是,我把事件追加到了table上,通过手机evevt的srcElement找到td元素,然后通过parentNode找到其tr元素。再对此元素单独进行处理即可。
代码如下:
js:
var tb = document.getElementById('table1') var trs = tb.getElementsByTagName('tr') window.onload = function(){ tb.onmousedown = function(evt){ tronMousedownNew(evt) } } function tronMousedownNew(evt){ var ele = evt.srcElement; var rowIndex = ele.parentNode.rowIndex; choose = rowIndex; process(rowIndex); } function process(index) { for(var i=0; i< trs.length; i++){ if(i == index){ trs[i].style.backgroundColor = 'lightblue'; } else{ trs[i].style.backgroundColor = ''; } } }
刚刚开始入门,多谢指教。
相关文章推荐
- 【HTML &CSS】实现在一个网页内实现浏览图片
- 使用html+css+js技术编写一个完整的表格列表内容中 复选框的全选 反选效果
- 一个好看的 html css table表格 ,单双行变色
- html css 怎么使img和a标签在一个行内元素中间对齐
- HTML+Css写一个简单的选项卡
- html一个简单的表格
- 如何只用HTML画出一个圆角的Table表格?
- 小白日常学习 html 初学者用css写一个法国国旗
- html+css做圆角表格
- HTML+CSS基础入门-第六天(HTML-表格)
- 如何只用HTML画出一个圆角的Table表格?
- 用原生js+HTML+CSS实现一个弹幕的效果
- HTML&CSS精选笔记_表格与表单
- HTML&CSS 表格:组织数据的工具
- shell连接数据库,并输出一个html表格
- html+css+table一些比较漂亮的表格
- HTML表格标记教程(48):CSS修饰表格
- 制作微信单页,全屏浏览,网站动画,CSS3动画,animate.css是一个不错的选择
- Brackets 是一个免费、开源且跨平台的 HTML/CSS/JavaScript 前端 WEB 集成开发环境 (IDE工具)
- 自己写的一个生成html分页条的类和css