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

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. linux 目录下文件批量植入和删除,按日期打包

    linux目录下文件批量植入 [root@greymouster http2]# find /usr/local/http2/htdocs/ -type f|xargs sed -i "   ...

  2. MySQL的索引类型和左前缀索引

    1.索引类型: 1.1B-tree索引: 注:名叫btree索引,大的方面看,都用的是平衡树,但具体的实现上,各引擎稍有不同,比如,严格的说,NDB引擎,使用的是T-tree,但是在MyISAM,In ...

  3. KBMMW 4.93.10 win64 一个BUG 修正

    经常有人提到kbmmw 4.93.10 的64 位版本没有32位版本稳定. 经过官方确认,是delphi 编译器生成64 位代码内存偏移地址的错误. 在kbmMWGlobal.pas 中 有一个函数k ...

  4. C++ 内存的分配方式 (摘选自网络)

    在c++中有三种分配内存的方式: 在许多大大公司在面试的时候很可能考到的内容.在这里和大家分享了!1. 静态存储区,是在程序编译时就已经分配好的,在整个运行期间都存在,如全局变量.常量.2. 栈上分配 ...

  5. java.lang.ClassCastException: android.view.AbsSavedState$1 cannot be cast to android.widget.ProgressBar$SavedState

    java.lang.ClassCastException: android.view.AbsSavedState$1 cannot be cast to android.widget.Progress ...

  6. Python-day-21

    1.请求周期 url> 路由 > 函数或类 > 返回字符串或者模板语言? Form表单提交: 提交 -> url > 函数或类中的方法 - .... HttpRespon ...

  7. Android Runtime

    [Android Runtime] Every Android application runs in its own process, with its own instance of the Da ...

  8. Aspen 安装

    按原安装后破解不成功后: 从下载文件夹中,找到 AspenONEV8.\Patch\-STRGXI2.zip,里面有个 STRGXI2.dll,将该文 件复制到: C:\Program Files(x ...

  9. web测试安全性常见问题

    web测试安全性常见问题                  一.             登录账号明文传输 1.  问题一:登录账号密码或者修改密码明文传输 现象:目前物流对内的java系统基本上都是 ...

  10. pdo 事物的处理