关于iframe中使用fixed定位的一些问题
程序员文章站
2022-03-06 10:18:38
先来看看position: fixed;的定义:生成绝对定位的元素,相对于浏览器窗口进行定位; 但是在iframe中使用fixed定位,实际上是相对于iframe窗口进行定位,原因在于iframe类似于创建了一个浏览器窗口,在使用一些获取鼠标位置以及元素位置等方法的时候把iframe当作浏览器窗口来 ......
先来看看position: fixed;的定义:生成绝对定位的元素,相对于浏览器窗口进行定位;
但是在iframe中使用fixed定位,实际上是相对于iframe窗口进行定位,原因在于iframe类似于创建了一个浏览器窗口,在使用一些获取鼠标位置以及元素位置等方法的时候把iframe当作浏览器窗口来处理就行。
以下是一些在iframe中使用fixed需要考虑的常用js事件对象属性与方法:
获取鼠标的位置:
e.clienty // 获取鼠标在浏览器视窗的y坐标,在iframe中相对于iframe窗口
e.screeny // 获取的是鼠标相对于屏幕的上边距,不考虑iframe因素,
获取元素的偏移量:
var position = object.getboundingclientrect(); //用于获取某个元素相对于浏览器视窗的位置集合,在iframe中相对于iframe视窗
position.top //获取元素 "顶部" 距离浏览器视窗 "顶部" 的距离
position.bottom //获取元素 "底部" 距离浏览器视窗 "顶部" 的距离
position.left //获取元素 "左侧" 距离浏览器视窗 "左侧" 的距离
position.right //获取元素 "右侧" 距离浏览器视窗 "左侧" 的距离
object.offsettop //获取元素距离 最近含有 ”定位“ 属性标签左侧的距离
上一篇: 2017中国好手机奖项入围名单曝光