`

Table行拖拽自己实现

阅读更多
<table id="myTable">
                                <tr>
                                    <td>
                                        <a href="#" class="up">Up</a> <a href="#" class="down">Down</a>
                                    </td>
                                    <td>
                                        One444444444iiiiiiiiiiifdsfsdfsfsfsdfsdfsd
                                    </td>
                                </tr>
                                <tr>
                                    <td>
                                        <a href="#" class="up">Up</a> <a href="#" class="down">Down</a>
                                    </td>
                                    <td>
                                        Two
                                    </td>
                                </tr>
                                <tr>
                                    <td style="display:none">
                                        <a href="#" class="up">Up</a> <a href="#" class="down">Down</a>
                                    </td>
                                    <td>
                                        Three
                                    </td>
                                </tr>
                                <tr>
                                    <td>
                                        <a href="#" class="up">Up</a> <a href="#" class="down">Down</a>
                                    </td>
                                    <td>
                                        Four
                                    </td>
                                </tr>
                                <tr>
                                    <td>
                                        <a href="#" class="up">Up</a> <a href="#" class="down">Down</a>
                                    </td>
                                    <td>
                                        Five
                                    </td>
                                </tr>
                            </table>
                            <br>
                            <a href="#" class="add">Add new</a>
 
$(function () {
        $(document).ready(function () {
            setCssRules();
            
            $(".up,.down").live('click', function () {
                var row = $(this).parents("tr:first");
                if ($(this).is(".up")) {
                    row.insertBefore(row.prev());
                } else {
                    row.insertAfter(row.next());
                }
            });
            $(".add").click(function () {
                $('#myTable tr:last').after('<tr><td><a href="#" class="up">Up</a><a href="#" class="down">Down</a></td><td>New</td></tr>');
                setCssRules();
                $("#myTable").tableDnD();
            });
        });
function setCssRules() {
            // this would be better implemented in a CSS file
            jQuery('#myTable tr:not(\'#rowHeader\')')
            .css('cursor', 'pointer')
            .mouseover(function () {
                jQuery(this).css('background-color', '#c0c0c0');
            })
            .mouseout(function () {
                jQuery(this).css('background-color', '#ffffff');
            });
        }
$('#myTable td').live('click', function () {
            var tr = $(this).parent();
            for (var i = 0; i < tr.children().length; i++) {
                if (tr.children().get(i) == this) {
                    var column = i;
                    break;
                }
            }

            var tbody = tr.parent();
            for (var j = 0; j < tbody.children().length; j++) {
                if (tbody.children().get(j) == tr.get(0)) {
                    var row = j;
                    break;
                }
            }

            for (var i = 0; i < tr.children().length; i++) {
                for (var j = 0; j < tbody.children().length; j++) {
                    var tempcell = $('#myTable tr:eq(' + j + ') td:eq(' + i + ')');
                    $(tempcell).css('background-color', '#ffffff');
                }
            }
            var cell = $('#myTable tr:eq(' + row + ') td:eq(' + column + ')');
            if (cell.length == 0) {
                //alert('Undefined');
            }
            else if (column == 1) {
                //alert(row+'  '+column+' '+cell.text());
                $(cell).css('background-color', '#c0c0c0');

            }

        });

    });
 

 

分享到:
评论
1 楼 ygm0720 2017-12-28  
                 

相关推荐

    vue Element ui实现table列拖动效果

    为了实现拖动功能,我们需要在拖动开始、拖动中以及拖动结束时分别进行处理: 1. **拖动开始**:当用户开始拖动列头时,记录当前被拖动列的位置和鼠标起始位置。Vue 提供了事件修饰符 `.stop` 和 `.prevent` 可以...

    实现table表格可按行拖拽,按列排序,并可以保存排序后的结果

    "实现table表格可按行拖拽,按列排序,并可以保存排序后的结果"是一个常见的需求,尤其适用于数据展示和管理的场景。这里我们将详细探讨如何利用jQuery、jQuery.tablesorter和jQuery.tablednd_0_5这三个JavaScript库...

    jquery实现table拖拽列效果

    用jquery实现table拖拽列功能,可动态改变表格列宽度,并且实现table表格100%的问题,如果列缩小,则自动拉伸最后一列以实现table100%的效果,如果拉伸长度比原长度大,则显示x滚动条。

    bootstrapTable实现列宽可拖动

    "bootstrapTable 实现列宽可拖动"的特性就是为了解决这个问题,让用户可以通过鼠标拖动来动态调整表格列的宽度。 要实现这个功能,首先你需要确保在项目中已经引入了 BootstrapTable 的基础库和相应的 CSS、JS 文件...

    Bootstrap Table两个table间行数据拖拽

    在“Bootstrap Table两个Table数据之间行数据拖拽”的主题中,我们主要讨论的是如何实现用户可以通过拖放操作在两个Bootstrap表格之间移动行数据,这种功能在数据管理、比较或重新排序场景中非常实用。 首先,我们...

    bootstrap table实现列拖动.rar

    在之前做过的一个web项目中,前端表格是基于jQuery和Bootstrap Table实现的,要求能利用拖动改变列宽。Bootstrap Table可拖动列,需要用到它的Resizable扩展插件需要引入 bootstrap-table扩展插件 bootstrap-table-...

    js实现table列头拖拽

    js实现table列头拖拽,。。。。。。

    实现bootstrap table可设置列宽和可拖动列宽

    本篇文章将详细介绍如何实现Bootstrap Table的列宽设置以及添加拖动列宽的功能。 首先,我们需要确保在项目中已经正确引入了 Bootstrap Table 的相关 CSS 和 JavaScript 文件,包括 `bootstrap.min.css`、`...

    elementui table列的拖拽功能

    通过学习和理解这段代码,你可以快速地将拖拽功能应用到自己的项目中,提高用户交互的灵活性。 总之,实现 ElementUI Table 列的拖拽功能需要对 Vue 的响应式系统和 HTML5 拖放API有深入理解。通过结合这两者,我们...

    vue-easytable@2.16.3版本 拖动列 动态改变列宽大小实现

    vue-easytable表格老版本有表格列宽拖功能,但是最新版插件反而不存在该功能,但是大部分表格数据存在...若将ve-table封装以组件形式引用,可全局实现拖动表格列 改变列宽大小效果。如何封装我也会在资源内详细说明。

    bootstrap-table.css 表格拖拽排序

    在这个特定的场景中,`bootstrap-table.css`可能包含了拖拽排序的样式规则,如拖动行时的高亮效果、悬浮指示器等,使得交互过程更加直观。 接着,`jquery.tablednd.js`是基于jQuery的TableDnD库,实现了表格行的...

    原生javascript实现拖拽改变table表格行高(html)

    要实现行高的动态调整,我们需要选定可以被拖动的元素,通常是表格行`&lt;tr&gt;`。 接下来,我们需要编写JavaScript代码来实现拖拽功能。这通常涉及到以下几个步骤: 1. **事件监听**:首先,我们需要监听鼠标事件,如`...

    JTable实现行间拖拽的最简单方法

    本文将详细介绍如何通过一种简单的方法,为`JTable`添加行间拖拽功能,而无需对已有代码进行大规模修改或实现复杂的DnD接口。 首先,理解`JTable`的基本结构是至关重要的。`JTable`由`TableModel`、`...

    table实现列宽的拖动效果

    "table实现列宽的拖动效果"是一个常见的需求,特别是在数据展示或者数据分析的应用中,用户可能需要自定义表格列的宽度以更好地查看和理解数据。这篇博客文章 "https://jifeng3321.iteye.com/blog/2403674" 提到的...

    Qt实现Table-->Table控件拖拽的工程

    本项目“Qt实现Table-->Table控件拖拽的工程”主要探讨了如何在Qt环境中实现Table控件之间的数据拖放操作,这在数据管理、排序或界面交互中具有很高的实用价值。以下将详细介绍这一功能的实现步骤和相关知识点。 1...

    拖动table单元格改变列宽或行高

    本文将深入探讨如何实现“拖动table单元格改变列宽或行高”的功能,以及这一特性在表格设计器中的应用。 首先,我们要理解HTML表格的基本结构。一个HTML表格由`&lt;table&gt;`元素定义,包含多个`&lt;tr&gt;`(行)元素,每个`...

    table 列可左右拖动

    "table 列可左右拖动"的功能使得用户可以根据需要调整列宽,提高用户体验,特别是当表格内容较多,需要横向滚动条时,用户可以更方便地查看和操作表格。 实现这一功能通常涉及以下几个关键知识点: 1. **...

    bootstrap-table实现 行拖拽 插件jquery.tablednd.js bootstrap-table-reorder-rows.js

    bootstrap-table实现 行拖拽 插件 jquery.tablednd.js bootstrap-table-reorder-rows.js bootstrap-table-reorder-rows.css

    【JavaScript源代码】vue 使用 sortable 实现 el-table 拖拽排序功能.docx

    在Vue.js应用中,实现`el-table`组件的拖拽排序功能可以借助第三方库`sortablejs`。`sortablejs`是一个轻量级的JavaScript库,它允许用户通过鼠标或触摸事件对HTML元素进行拖放排序。以下是使用`sortablejs`在Vue中...

    ant-design-vue(可拖拽table).vue

    ant-design-vue(可拖拽table).vue

Global site tag (gtag.js) - Google Analytics