计算DOM元素的top时需要注意的一个问题
来源:互联网 发布:php公益培训 编辑:程序博客网 时间:2024/05/16 16:59
用jquery的offset函数可以很简单地获取某个元素的top,也就是离document的距离。但是有一个地方需要注意,这是容易引起bug的地方。
<!DOCTYPE html><html><head> <title></title></head><body><script type="text/javascript" src="jquery-2.2.3-unzip.js"></script><img src="" style="height: auto" /><div id="test">hellow world</div><script type="text/javascript">setTimeout(() => { $("img").attr('src', '1.png');},0)console.log($("#test").offset().top);</script></body></html>
运行上面的代码,然后再打开console运行console.log($(“#test”).offset().top);会惊讶地发现这两个值并不一样,印象中,一个DOM的top是不会变的,但是这里是什么问题呢,问题在于,如果一个DOM节点的上面有需要一部加载的资源时并且这个资源的高度是auto时,例如图片,可能会导致问题,因为当你进入页面时,你去获取某个DOM节点A的top时,这时图片还没有加载回来,并且他的高度设置成auto,所以他的大小是0px,等图片加载回来时,A的top已经变了,值差不多是等于原来的值加上图片的大小,所以这个地方需要注意。如果图片的大小是固定大小,比如height:200px,就不会有这个问题。
0 0
- 计算DOM元素的top时需要注意的一个问题
- jquery的hide一个元素,需要注意的问题(offset)
- 动态添加表单元素需要注意的一个问题
- 单片机计算需要注意的问题
- 计算逆矩阵需要注意的问题
- BigDecimal类的使用(精确计算时需要注意问题)
- SWT绘图需要注意的一个问题
- “多态”一个需要注意的问题
- JS需要注意的一个问题
- 集合初始化需要注意的一个问题
- 使用synchronized需要注意的一个问题
- 自定义ruby异常时需要注意的一个问题
- Arrays.asList()使用时需要注意的一个问题
- 模板类使用friend时需要注意的一个问题
- Firefox下拖动html元素需要注意的问题
- ArrayList元素移除需要注意的问题
- python list列表添加元素需要注意的问题
- python list列表删除元素需要注意的问题
- Qt Creater-特殊注释TODO,FIXME
- Problem A: 好多书啊!
- 字符串排列组合
- 九度 oj 题目1550:分糖果
- YOLO2 文章解读
- 计算DOM元素的top时需要注意的一个问题
- 杂乱
- 实习面试会遇到的一些问题
- 设计模式
- VS2010+SQlite+EF 二、初识EF DataBaseFirst
- 建议书
- ASP.NET Core Docker jexus部署-CentOS实践版
- web.xml中出现<servlet-name>default</servlet-name>是什么意思?
- Problem B: 类的初体验(IV)