js是滚动条滑到固定位置_js实现滚动条滚动到某个位置便自动定位某个tr

本文介绍如何使用JavaScript实现滚动条滚动到指定位置,特别是在表格中定位到特定的tr行。通过animate方法调整scrollTop属性,结合offsetTop属性实现平滑滚动定位。详细解析了animate、scrollTop和offsetTop的含义及用法。
摘要由CSDN通过智能技术生成

要实现带滚动条的table,定位到某个tr,其实是很简单的,只有几行js代码就可以完成,具体内容如下

js代码

function test(){

var $objTr = $("#location"); //找到要定位的地方 tr

$objTr.css("background-color","lightgray"); //设置要定位地方的css

var objTr = $objTr[0]; //转化为dom对象

$("#dataDiv").animate({scrollTop:objTr.offsetTop},"slow"); //定位tr

}

html

定位

ddddddddddddddddddddddddddddddddddddddddddddsererfd
ddddddddddddddddddddddddddddddddddddddddddddsererfd
ddddddddddddddddddddddddddddddddddddddddddddsererfd
ddddddddddddddddddddddddddddddddddddddddddddsererfd
ddddddddddddddddddddddddddddddddddddddddddddsererfd
ddddddddddddddddddddddddddddddddddddddddddddsererfd
ddddddddddddddddddddddddddddddddddddddddddddsererfd
ddddddddddddddddddddddddddddddddddddddddddddsererfd
ddddddddddddddddddddddddddddddddddddddddddddsererfd
ddddddddddddddddddddddddddddddddddddddddddddsererfd
ddddddddddddddddddddddddddddddddddddddddddddsererfd
ddddddddddddddddddddddddddddddddddddddddddddsererfd
ddddddddddddddddddddddddddddddddddddddddddddsererfd
ddddddddddddddddddddddddddddddddddddddddddddsererfd
ddddddddddddddddddddddddddddddddddddddddddddsererfd
ddddddddddddddddddddddddddddddddddddddddddddsererfd
ddddddddddddddddddddddddddddddddddddddddddddsererfd
ddddddddddddddddddddddddddddddddddddddddddddsererfd
ddddddddddddddddddddddddddddddddddddddddddddsererfd
ddddddddddddddddddddddddddddddddddddddddddddsererfd
ddddddddddddddddddddddddddddddddddddddddddddsererfd
ddddddddddddddddddddddddddddddddddddddddddddsererfd
ddddddddddddddddddddddddddddddddddddddddddddsererfd
ddddddddddddddddddddddddddddddddddddddddddddsererfd
ddddddddddddddddddddddddddddddddddddddddddddsererfd
ddddddddddddddddddddddddddddddddddddddddddddsererfd
ddddddddddddddddddddddddddddddddddddddddddddsererfd
ddddddddddddddddddddddddddddddddddddddddddddsererfd
ddddddddddddddddddddddddddddddddddddddddddddsererfd
ddddddddddddddddddddddddddddddddddddddddddddsererfd
ddddddddddddddddddddddddddddddddddddddddddddsererfd
ddddddddddddddddddddddddddddddddddddddddddddsererfd
ddddddddddddddddddddddddddddddddddddddddddddsererfd
ddddddddddddddddddddddddddddddddddddddddddddsererfd
ddddddddddddddddddddddddddddddddddddddddddddsererfd
ddddddddddddddddddddddddddddddddddddddddddddsererfd
ddddddddddddddddddddddddddddddddddddddddddddsererfd
ddddddddddddddddddddddddddddddddddddddddddddsererfd
ddddddddddddddddddddddddddddddddddddddddddddsererfd
ddddddddddddddddddddddddddddddddddddddddddddsererfd
ddddddddddddddddddddddddddddddddddddddddddddsererfd
ddddddddddddddddddddddddddddddddddddddddddddsererfd
ddddddddddddddddddddddddddddddddddddddddddddsererfd
ddddddddddddddddddddddddddddddddddddddddddddsererfd
ddddddddddddddddddddddddddddddddddddddddddddsererfd
ddddddddddddddddddddddddddddddddddddddddddddsererfd
ddddddddddddddddddddddddddddddddddddddddddddsererfd
ddddddddddddddddddddddddddddddddddddddddddddsererfd

效果图:

虽说是几行代码,但要彻底弄懂。要熟悉animate的使用,scrollTop,.offsetTop的意思方可得心应手。

1. animate的使用说明:

animate() 方法执行 CSS 属性集的自定义动画。

该方法通过CSS样式将元素从一个状态改变为另一个状态。CSS属性值是逐渐改变的,这样就可以创建动画效果。

只有数字值可创建动画(比如 "margin:30px")。字符串值无法创建动画(比如 "background-color:red")。

2.  scrollTopscrollTop属性

有些情况下,“元素中内容”的高度会超过“元素本身”的高度, scrollTop指的是“元素中的内容”超出“元素上边界”的那部分的高度。

解释:内层元素的高度值300px > 外层元素的高度值200px,因此“外层元素的内容”(也就是“内层元素”)无法完全显示,而外层元素把overflow设置为auto,因此外层元素的右侧会出现竖直滑动条

初始状态下,“内层元素的上边界”和“外层元素的上边界”重合,没有任何内容超过“外层元素的上边界”,此时scrollTop属性的值为0。

当向下拖动滚动块时,超过“外层元素的上边界”的内容会逐渐增多,scrollTop值就等于这些超出部分的高度。

当拖动滚动块到最底部时,“内层元素的下边界”和“外层元素的下边界”重合,此时,超过“外层元素的上边界”的内容的高度=300px-200px=100px,也就是此时的scrollTop值。

3..offsetTop,offsetLeft等假设 obj 为某个 HTML 控件。

obj.offsetTop 指 obj 距离上方或上层控件的位置,整型,单位像素。

obj.offsetLeft 指 obj 距离左方或上层控件的位置,整型,单位像素。

obj.offsetWidth 指 obj 控件自身的宽度,整型,单位像素。

obj.offsetHeight 指 obj 控件自身的高度,整型,单位像素。

offsetParentoffsetParent属性返回一个对象的引用,这个对象是距离调用offsetParent的元素最近的(在包含层次中最靠近的),并且是已进行过CSS定位的容器元素。 如果这个容器元素未进行CSS定位,则offsetParent属性的取值为根元素(在标准兼容模式下为html元素;在怪异呈现模式下为body元素)的引用。当容器元素的style.display 被设置为 "none"时(译注:IE和Opera除外),offsetParent属性 返回null。

句法:parentObj = element.offsetParent

变量:parentObj 是一个元素的引用,当前元素的偏移量在其中计算。

本文标题: js实现滚动条滚动到某个位置便自动定位某个tr

本文地址: http://www.cppcns.com/wangluo/javascript/141375.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Table固定列横向滚动,是指在表格的左侧或右侧选定某一列,让该列固定不动,而其他列随着页面的横向滚动而滑动。这种布局方式通常用于需要在表格中浏览大量数据时。通过固定列,用户可以快速查看数据的关键信息。同时,横向滚动使得用户可以浏览未能在屏幕上一次性显示的数据,而无需使用繁琐的分页导航。 要实现这种效果,可以使用css的position属性将固定列设为绝对定位。然后,使用JavaScript计算表格的滚动位置,以便滚动时更新固定列的位置固定列通常有一个较小的宽度,因此在表格中有一些列可能需要调整宽度以适应页面的剩余部分。 Table固定列横向滚动能够提升用户的浏览体验,使用户更加方便地浏览表格中的数据。同时,这种布局方式还可以使页面更加统一并且美观,提高网站的可用性和易用性。 ### 回答2: 当表格列数较多时,一般情况下会出现水平方向的滚动条,但往往其中一些重要的列又想要固定在视图中不随水平滚动而消失,这时就可以使用table固定列横向滚动的方法来实现。 具体实现方式: 首先,在HTML中使用table标签定义表格,并在其中使用thead和tbody标签分别定义表格的表头和内容部分。在表头中,我们需要将要固定的列单独定义一个tr标签,并将其中需要固定的列加入到特定的td标签中。这些td标签需要添加特定的类名用于后续操作。 其次,在CSS中定义表格的基本样式,包括表格宽度、边框等,同时将tbody设置为overflow: auto来出现水平滚动条。接着,需要使用position: sticky来定义要固定的列的位置,并通过z-index属性设置其层级关系,使其永远保持在最上层。最后,根据之前定义的类名来设置要固定的列的样式,使其水平定位后不再随滚动而移动。 好处: 使用该方法可以提高表格的用户体验和可读性,使表格更加易于理解和操作。固定的列可以在水平滚动时始终显示在最左侧或最右侧,能够方便用户查看和理解表格的内容,提高效率和舒适度。此外,使用table固定列横向滚动也减少了页面布局的复杂度,使页面结构更加简洁。 ### 回答3: Table固定列横向滚动是指在一个较大的表格中,将某一列的内容固定在左侧位置,使其随着页面的横向滚动而保持不动,同时在水平方向添加滚动条,以滚动其他列的内容。 这种设计通常在数据较多的时候使用,它可以让用户快速浏览表格的不同列而无需滚动整个页面。另外,由于固定列始终可见,用户也能更容易地比较列之间的数据。 实现这种功能的方法是,将需要固定的列单独设置为一个HTML元素,例如div或table,然后使用CSS将其放在最左侧,并设置z-index以确保其始终在表格之上。然后,将其他列放在另一个容器中,并使用overflow-x属性添加水平滚动条。 但是,这种设计也存在一些缺点。首先,如果表格列数较多,固定列会占据屏幕空间,导致其他列变得较小,同时也会使表格在移动设备上使用起来不太方便。其次,由于固定列的宽度是固定的,当用户拖动浏览器窗口大小时,可能会导致固定列与其他列不对齐。 因此,固定列横向滚动应该在需要且可以适用的情况下使用,以提高表格的可读性和用户体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值