效果演示图:

JS 代码如下:

function TableHover($table){

      $table.mouseenter(function(event) {
            var xIdx = 0, yIdx = 0;
            $table.each(function(index, el) {
                  $(this).removeClass('hover');
            });

            $(this).addClass('hover').siblings().removeClass('hover');
            $table.each(function(index, el) {
                  if($(this).hasClass('hover')){
                  xIdx = $(this).index();
                  yIdx = $(this).parent().index();
                  }
            });
            if(xIdx>0){
                  for(var i = 0; i < xIdx; i++) {
                      $(this).parent().children().eq(i).addClass('hover');
                  }
                 for(var i = 0; i < yIdx; i++) {
                     $(this).parent().parent().children().eq(i).children().eq(xIdx).addClass('hover');
                 }
             }

       });
      $table.mouseout(function(event) {
            $table.each(function(index, el) {
                 $(this).removeClass('hover');
            });
      });

}

export default TableHover;

调用:TableHover($('.table-container table td'));

CSS类:

table tr td.hover {
  background-color: $gray250;
  color: $white-color;
}
table tr td:nth-child(1).hover {
  background-color: $gray300;
  color: $white-color;
}
table tr td.th_title.hover {
  background-color: $gray300;
  color: $white-color;
}

td:hover{
  background: $gray500 !important;
  color: $white-color;
}

HTML代码:

<table style="overflow-x: auto;">
  <tbody>
    <tr>
      <td class="th_title">Label</td>
      <td class="th_title">US</td>
      <td class="th_title">UK</td>
      <td class="th_title">AU</td>
      <td class="th_title">EU</td>
      <td class="th_title">Length</td>
      <td class="th_title">Length</td>
    </tr>
    <tr>
      <td>36</td>
      <td>6</td>
      <td>4</td>
      <td>4.5</td>
      <td>36.5</td>
      <td>9.06</td>
      <td>23</td>
    </tr>
    <tr>
      <td>37</td>
      <td>6.5-7</td>
      <td>4.5-5</td>
      <td>5-5.5</td>
      <td>37.5</td>
      <td>9.25</td>
      <td>23.5</td>
    </tr>
    <tr>
      <td>38</td>
      <td>7.5</td>
      <td>5.5</td>
      <td>6</td>
      <td>38</td>
      <td>9.45</td>
      <td>24</td>
    </tr>
  </tbody>
</table>

 

Table表格滑过当前项[当前行][当前列]对应高亮的更多相关文章

  1. [转]CSS如何设置html table表格边框样式

    原文地址:http://www.divcss5.com/wenji/w503.shtml 对table设置css样式边框,分为几种情况: 1.只对table设置边框 2.对td设置边框 3.对tabl ...

  2. JS组件系列——Bootstrap Table 表格行拖拽(二:多行拖拽)

    前言:前天刚写了篇JS组件系列——Bootstrap Table 表格行拖拽,今天接到新的需要,需要在之前表格行拖拽的基础上能够同时拖拽选中的多行.博主用了半天时间研究了下,效果是出来了,但是感觉不尽 ...

  3. MiniUI动态添加table表格

    本文将介绍一下,如何用Jquery MiniUi动态添加一行table表格 1.效果展示 ↓ 2.具体代码 <script type="text/javascript"> ...

  4. table表格宽度固定,同时td内容过长也不会被撑开

    table表格宽度固定,同时td内容过长也不会被撑开,设置如下css: table{table-layout:fixed;word-break:break-all;}

  5. Bootstrap Table表格一直加载(load)不了数据-解决办法

    bootstrap-table是一个基于Bootstrap风格的强大的表格插件神器,官网:http://bootstrap-table.wenzhixin.net.cn/zh-cn/ 这里列出遇到的一 ...

  6. [js开源组件开发]table表格组件

    table表格组件 表格的渲染组件,demo请点击http://lovewebgames.com/jsmodule/table.html,git源码请点击https://github.com/tian ...

  7. jquery 生成table表格 部分代码

    想生成上面这样的table表格先看返回数据格式 <div id="create_img_tab"></div> window.onload = functi ...

  8. jquery隐藏table表格的某一列

    jquery隐藏table表格的某一列: $('table tr').find('td:eq(13)').hide(); 隐藏table的第13列

  9. asp.net将内容导出到Excel,Table表格数据(html)导出EXCEL

    代码: /// <summary> /// HTML Table表格数据(html)导出EXCEL /// </summary> /// <param name=&quo ...

随机推荐

  1. 常用样式积累-scss

    /** * author ctj -- 自定义公用样式 */ /*清除浮动*/ .clearfix:after { height:; content: ''; display: block; clea ...

  2. 003.Kubernetes二进制部署准备

    一 前置准备 1.1 前置条件 相应的充足资源的Linux服务器: 设置相应的主机名,参考命令: hostnamectl set-hostname k8smaster Mac及UUID唯一: 若未关闭 ...

  3. egret常用功能

    egret常用功能<pre>//////////////////////////////////////////////////////////////////////////////// ...

  4. Python面向对象 | 静态方法 staticmethod

    静态方法是类中的函数,不需要实例.静态方法主要是用来存放逻辑性的代码,逻辑上属于类,但是和类本身没有关系,也就是说在静态方法中,不会涉及到类中的属性和方法的操作.可以理解为,静态方法是个独立的.单纯的 ...

  5. csp-s2019游记

    11.15D0: 复习 复习 机房里弥漫着颓废的气息,不过也是最后一个下午了 11.16D1: 五点钟爬起来,一边发抖一边去楼下买早饭 虽然平时基本不吃早饭,但考前不行 搭着同学的车去了考点,在车上重 ...

  6. Laravel生命周期与原理

    一旦用户(浏览器)发送了一个HTTP请求,我们的apache或者nginx一般都转到index.php,因此,之后的一系列步骤都是从index.php开始的,我们先来看一看这个文件代码. <?p ...

  7. 第一篇: openJDK源码编译安装--mac版本

    1.为什么要编译JDK 想要一探JDK内部的实现机制,最便捷的路径之一就是自己编译一套JDK,通过阅读和跟踪调试JDK源码去了解Java技术体系的原理,虽然门槛高一点,但肯定比阅读各种书籍,文章,博客 ...

  8. Python3.7.1学习(五) 将列表中的元素转化为数字并排序

    # 本文实例讲述了Python中列表元素转为数字的方法.分享给大家供大家参考,具体如下: # 有一个数字字符的列表: numbers = ['2', '4', '1', '3']print(numbe ...

  9. asp.net以流导出Excel

    废话不多说,直接上代码 这是点击导出的事件函数,因为我是从前端获取的Table的json数据,所以需要转换一下,大家直接用查询出来的DataTable即可 protected void bt_expo ...

  10. Session,Token,Cookie相关区别

    1. 为什么要有session的出现? 答:是由于网络中http协议造成的,因为http本身是无状态协议,这样,无法确定你的本次请求和上次请求是不是你发送的.如果要进行类似论坛登陆相关的操作,就实现不 ...