关于offsetTop的误解
2024-08-29 21:14:54
一直以为offset是子元素相对于父元素的距离,后来用了才知道是一个坑,只存在于定位元素中
在做li的搜索的定位的时候,为了得到li相对于ul的距离,本来也可以用li的高度相乘,但是用了offsetTop,可是用上后发现得到的值怎么都不对,最后在控制台找到他的offsetParent竟然不是ul,跑到了另外一个元素上面,
原因,offsetTop是找到元素相对于父级定位元素的距离,
解决办法:在ul上面加上定位position:relative就ok了
正常
代码:
var selectedCodes=mes.attr("value");//需要定位选中li的code
if(!!selectedCodes){
$('#'+treeIds).selectNodes(selectedCodes);
//自动移动到第一个选中项
setTimeout(function(){
console.log(selectedCodes);
//获得li的offsetTop
var ntop=$('#'+treeIds).find("li[value="+selectedCodes+"]")[0].offsetTop;
//设置ul的scrollTop
$('#'+treeIds).parent()[0].scrollTop=ntop
},300);
}
最新文章
- C#微信公众号开发系列教程二(新手接入指南)
- 查看机器上安装的jdk能支持多大内存
- 将文本文件的内容存储在DataSet中的方法总结
- windbg symbol path
- 【Asphyre引擎】冒险岛换装Demo升级到最新版PXL
- apache CXF wsdl2java工具的使用
- performSelector:withObject:afterDelay: 精要概览(持续更新)
- Light OJ 1253 Misere Nim (尼姆博弈(2))
- Ruby On Rails经典书籍下载地址
- 八、jdk工具之JvisualVM、JvisualVM之一--(visualVM介绍及性能分析示例)
- Android Studio 编译不通过,报错“找不到org.apache.http
- hdoj 2955 Robberies
- Quartz1.8.5例子(八)
- 四巧工作简化法(ECRS)
- web之ios开关按钮
- 用python爬取微博数据并生成词云
- 使用WSL连接Docker for Windows
- dropload.js(上拉加载插件使用过程中遇到的坑)
- Android系统的三种分屏显示模式
- Asp.Net Core 实现谷歌翻译ApI 免费版