现在表格内容需要显示的要求如下:

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:;}
#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:; 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 做成一个可浏览的表格的更多相关文章

  1. input输入框修改后自动跳到最后一个字符

    <input class="m-form-control" onpaste="return false" placeholder="直播间名称& ...

  2. 通过重新上传修改后的docker镜像来在kubeapps上实现k8s上部署的nginx版本更新,回退等

    docker操作:制作自定义镜像 # docker下载官方nginx镜像 docker pull nginx # 基于该镜像运行一个容器 docker run -it -d --name nginx_ ...

  3. docker for mac的JSON配置文件中的hosts项修改后无法生效

    docker for mac的JSON配置文件中的hosts项修改后无法生效 docker 2.1k 次浏览 问题对人有帮助,内容完整,我也想知道答案0问题没有实际价值,缺少关键内容,没有改进余地 增 ...

  4. 以流方式读写文件:文件菜单打开一个文件,文件内容显示在RichTexBox中,执行复制、剪切、粘贴后,通过文件菜单可以保存修改后的文件。

    MainWindow.xaml文件 <Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation&q ...

  5. 用java将excel表格中的内容修改后写入到另一个excel中

    package nn; import java.io.File; import jxl.Cell; import jxl.Sheet; import jxl.Workbook; import jxl. ...

  6. 让/etc/profile文件修改后立即生效

    方法1: 让/etc/profile文件修改后立即生效 ,可以使用如下命令: # .  /etc/profile 注意: . 和 /etc/profile 有空格 方法2: 让/etc/profile ...

  7. 让/etc/profile文件修改后立即生效(转)

    方法1:让/etc/profile文件修改后立即生效 ,可以使用如下命令:# .  /etc/profile注意: . 和 /etc/profile 有空格方法2:让/etc/profile文件修改后 ...

  8. [saiku] 源码整合[maven整合]

    saiku源码的整合分为[普通web项目整合]和[maven整合]两种 本节主要是讲解如何整合为maven项目 转载自:http://blog.csdn.net/gsying1474/article/ ...

  9. [terry笔记]Oracle会话追踪(二):TKPROF

    接上一笔记[terry笔记]Oracle会话追踪(一):SQL_TRACE&EVENT 10046 http://www.cnblogs.com/kkterry/p/3279282.html ...

随机推荐

  1. gtktree和gtktext使用时要在文件中定义GTK_ENABLE_BROKEN

    linux下调试程序,出现如下错误: /tmp/ccG8fpwg.o: In function `apache_viewlog_form':apache.c:(.text+0x776): undefi ...

  2. 最近学习linux命令的一个总结

    最近学习了unix power tools,一方面是想增加对unix系统的了解:另一方面也是想增进使用效率,因为unix一大特色就是内置工具的丰富性.有了这些工具,可以方便的查看系统信息,查找需要的文 ...

  3. Python自动化 【第十五篇】:CSS、JavaScript 和 Dom介绍

    本节内容 CSS javascript dom CSS position标签 fixed: 固定在页面的某个位置 relative + absolute: 相对定位 opacity:0.5 设置透明度 ...

  4. disconf系列【1】——百度disconf在ubuntu14.04环境下的安装

    disconf官网给出的安装文档默认读者已经非常熟练本文1.2章节给出的依赖软件的原理及使用方法,且官网默认安装环境为linux(windows安装方法只字未提).同时,官网对很多重要的细节语焉不详, ...

  5. Host基本概念

    TSO            TSO是Time Sharing Option的缩写,是MVS的命令输入处理器.        TSO是在操作系统的管理下,用来支持ISPF菜单式会话系统和资源管理设备( ...

  6. px 和 em

    px像素(Pixel).相对长度单位.像素px是相对于显示器屏幕分辨率而言的.em是相对长度单位.相对于当前对象内文本的字体尺寸.如当前对行内文本的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸. ...

  7. ipython的安装

    ipython:是python的一个交互式shell环境,可以安装到windows和linux上面.作用:用来执行python代码和调试用.windows上面安装:分为2.x版本和3.x版本,分为py ...

  8. 查看表的datapages

    select object_name(i.object_id) as tableName,data_pages as dataPagesfrom sys.indexes as ijoin sys.pa ...

  9. windbg学习----.process

    .process 命令指定要用作进程上下文的进程(Set Process Context) .process显示当前进程的EPROCESS,这里显示当前进程为test.exe kd> .proc ...

  10. ORA-01033: ORACLE 正在初始化或关闭 进程 ID: 0 会话 ID: 0 序列号: 0

    用了很长时间的数据库,一直都挺好,今天早上一来报这个错,开始追究原因. 1.用SYS用户登录: 2.将数据库修改为打开状态,alter database open,出现如下的错误提示: ORA-160 ...