返回顶部
首页 > 资讯 > 前端开发 > JavaScript >jQuery实现锁定页面元素(表格列)
  • 287
分享到

jQuery实现锁定页面元素(表格列)

2024-04-02 19:04:59 287人浏览 八月长安
摘要

摘要 在拖动滚动条时,对页面元素进行横向、纵向锁定。 介绍 对于展现内容较多的页面,在滚动时,我们经常需要对一些重要的元素进行锁定。这些元素经常是表格的行、列,也可能是搜索条件,或者

摘要

在拖动滚动条时,对页面元素进行横向、纵向定。

介绍

对于展现内容较多的页面,在滚动时,我们经常需要对一些重要的元素进行锁定。这些元素经常是表格的行、列,也可能是搜索条件,或者是其他重要信息。
对于表格列的锁定,目前主要有三种方法。

1.表格控件
2.js生成fixtable之类填充
3.js+CSS

第一种,算是最简单的方法。但是用控件的缺点实在太多了,其中一个与本文有直接相关的缺点是,部分控件对多级表头的锁定支持的很差。

第二种,思路很清晰,但是实现起来非常复杂,维护成本过高。

第三种,正是本文所用的方法。目前网上也有多篇相关文章,但是就使用场景来说太局限了,没有对这一类问题进行更高程度的抽象。
我想要的是:不只是表格,只要是想要锁定的元素,只需要添加一个标识,再最多额外写一行代码就可以完成批量锁定。并且内部实现代码要尽量简单。

用法

对需要纵向锁定的元素添加样式lock-col,横向锁定的添加lock-row。在nayiLock方法中传入滚动的div所对应的id。

完整例子

<!DOCTYPE>
<html>
<head>
    <title>锁定</title>
    <meta Http-equiv="X-UA-Compatible" charset="utf-8"/>
    <script src="../../js/Jquery-1.7.2.min.js" type="text/javascript"></script>
<style type="text/css">

table td, th{
    text-align: center;
    border:#dee9ef 1px solid;
}

</style>
<script> 
jQuery(function(){
    nayiLock("aDiv");
    //支持多级表头的锁定
    nayiLock("bDiv");

    //支持对多个div的锁定
}) 
//scrollDivId   滚动的div的id
function nayiLock(scrollDivId){
    jQuery("#" + scrollDivId).scroll(function(){
        var left = jQuery("#" + scrollDivId).scrollLeft();
        jQuery(this).find(".lock-col").each(function(){
            jQuery(this).css({"position":"relative","left":left,"background-color":"white","z-index":jQuery(this).hasClass("lock-row")?20:10});
        });

        var top = jQuery("#" + scrollDivId).scrollTop();
        jQuery(this).find(".lock-row").each(function(){
            jQuery(this).css({"position":"relative","top":top,"background-color":"white","z-index":jQuery(this).hasClass("lock-col")?20:9});
        });
    });
}


</script>
</head>
<body id="myBody">

<div id="aDiv" style="width:600px;height:200px;overflow:auto;">
    <div class="lock-row lock-col" >
        <span id="span1" >span1</span>
    </div>
    <table id="table1" style="width:800px;height:250px;" >
        <thead>
            <tr>
                <th id="testTh" class="lock-col lock-row">序号</th>
                <th class=" lock-row">表头1</th>
                <th class="lock-row">表头2</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td class="lock-col">1</td>
                <td class="">test</td>
                <td>test</td>
            </tr>
            <tr>
                <td class="lock-col">2</td>
                <td class="">test</td>
                <td>test</td>
            </tr>
        </tbody>    
    </table>
</div>

<div id="bDiv" style="width:600px;height:100px;overflow:auto;">

    <table id="table1" style="width:800px;height:150px;">
        <thead>
            <tr>
                <th colspan="2" class="lock-col lock-row">
                    colspan="2"
                </th>
                <th class="lock-row">
                    colspan="1"
                </th>
            </tr>

            <tr>
                <th id="testTh" class="lock-col lock-row">序号</th>
                <th class="lock-col lock-row">表头1</th>
                <th class="lock-row">表头2</th>

            </tr>
        </thead>
        <tbody>
            <tr>
                <td class="lock-col">1</td>
                <td class="lock-col">test</td>
                <td>test</td>
            </tr>
            <tr>
                <td class="lock-col">2</td>
                <td class="lock-col">test</td>
                <td>test</td>
            </tr>
        </tbody>    
    </table>
</div>

</body>
</html>

注:对低版本ie的兼容还是没找到js上的直接解决方法。建议使用expression方法。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: jQuery实现锁定页面元素(表格列)

本文链接: https://lsjlt.com/news/140054.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • jQuery实现锁定页面元素(表格列)
    摘要 在拖动滚动条时,对页面元素进行横向、纵向锁定。 介绍 对于展现内容较多的页面,在滚动时,我们经常需要对一些重要的元素进行锁定。这些元素经常是表格的行、列,也可能是搜索条件,或者...
    99+
    2024-04-02
  • jQuery怎么实现锁定页面元素
    这篇文章主要介绍“jQuery怎么实现锁定页面元素”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“jQuery怎么实现锁定页面元素”文章能帮助大家解决问题。摘要在拖动滚动条时,对页面元素进行横向、纵向...
    99+
    2023-06-29
  • jQuery如何实现表格元素动态创建功能
    这篇文章将为大家详细讲解有关jQuery如何实现表格元素动态创建功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Jquery实现表格元素的动态创建,本质是通过构造一个D...
    99+
    2024-04-02
  • jquery如何实现页面滚动而元素位置不变
    本篇内容介绍了“jquery如何实现页面滚动而元素位置不变”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!两...
    99+
    2024-04-02
  • VUE 列表过渡指南:轻松实现页面元素的华丽切换!
    在 VUE 项目中,列表过渡是一种常用的动画技术,它可以帮助您轻松实现页面元素的华丽切换,包括元素添加、更新、删除以及重新排序。通过使用 VUE 的过渡组件,您可以轻松地创建各种各样的过渡效果,让您的页面交互更加流畅和美观。 1. VU...
    99+
    2024-02-11
    vue.js 列表过渡 动画 CSS
  • Appium自动化测试实现H5页面元素定位
    目录简介H5元素定位准备工作Webview 调试模式是否开启检查拿到H5页面地址和chrom版本信息实战案例简介   在现在的移动端App中,由于开发效率、需求频繁变更的需...
    99+
    2024-04-02
  • python如何实现列表元素排列组合
    这篇文章主要为大家展示了“python如何实现列表元素排列组合”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“python如何实现列表元素排列组合”这篇文章吧。列...
    99+
    2024-04-02
  • Android实现列表元素动态效果
    目录前言AnimatedList 介绍元素的插入和删除使用 GlobalKey 获取 AnimatedListState总结前言 列表是移动应用中用得最多的组件了,我们也会经常对列表...
    99+
    2024-04-02
  • 如何使用HTML固定定位实现页面元素的固定展示
    如何使用HTML固定定位实现页面元素的固定展示 在网页设计中,我们经常会遇到需要将某些元素固定在页面上特定位置的需求,例如导航栏、侧边栏或广告栏等。为了实现这一功能,我们可以使用HTML的固定定位(fixed positioni...
    99+
    2024-01-20
    html 元素 固定定位
  • python如何实现列表组合和列表元素替代组合
    小编给大家分享一下python如何实现列表组合和列表元素替代组合,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!列表组合和列表元素替代组合>>> for ...
    99+
    2024-04-02
  • Android如何实现列表元素动态效果
    这篇文章主要介绍了Android如何实现列表元素动态效果的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Android如何实现列表元素动态效果文章都会有所收获,下面我们一起来看看吧。前言列表是移动应用中用得最多的...
    99+
    2023-06-29
  • Python列表中多元素删除如何实现
    本篇内容介绍了“Python列表中多元素删除如何实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!问题背景a=[1,4,2,1,5,6,9,...
    99+
    2023-07-05
  • python如何实现列表相邻元素压缩器
    小编给大家分享一下python如何实现列表相邻元素压缩器,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!列表相邻元素压缩器>...
    99+
    2024-04-02
  • python循环删除列表中元素怎么实现
    可以使用for循环结合remove()方法来删除列表中的元素。具体实现如下: # 定义列表 lst = [1, 2, 3, 4, 5...
    99+
    2023-10-24
    python
  • Python列表中多元素删除(移除)的实现
    目录问题背景实现方法1. 使用枚举法2. python中List的内置方法结论问题背景 a=[1,4,2,1,5,6,9,0] #删除列表中的元素,其所在的位置为[1,3,7] de...
    99+
    2023-03-10
    Python列表多元素删除 Python 多元素删除
  • 深入探讨粘性定位的标准:如何实现页面元素的固定定位?
    深入探讨粘性定位的标准:如何实现页面元素的固定定位? 引言: 在网页设计中,粘性定位(sticky positioning)是一种非常实用的技术,可以使页面元素在滚动时保持固定位置。它能够提升用户体验,使页面更加动态且易用。本文...
    99+
    2024-02-02
    页面元素 固定定位 粘性定位 绝对定位 position属性 相对定位
  • Vue组件库ElementUI实现表格列表分页效果
    ElementUI实现表格列表分页效果教程,供大家参考,具体内容如下 Element UI 是一套采用 Vue 2.0 作为基础框架实现的组件库,一套为开发者、设计师和产品经理准备的...
    99+
    2024-04-02
  • Bootstrap中怎么实现表格、表单、登录页面
    这篇文章将为大家详细讲解有关Bootstrap中怎么实现表格、表单、登录页面,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1.表格<!doctype ht...
    99+
    2024-04-02
  • element 表格多级表头子列固定的实现
    element 中 table 固定列使用fixed 属性;但是多级表头时只能固定第一列; 设置对应子列表头的宽度和父系表头的宽度可以使对应的列固定; 不需要固定的列则不需要设置宽度...
    99+
    2024-04-02
  • jquery 页面滚动到指定DIV实现代码
    参数id为页面元素id 复制代码 代码如下: function mScroll(id){$("html,body").stop(true);$("html,body").animat...
    99+
    2022-11-15
    页面滚动
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作