首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

获取图片的位置(距离顶部

老规矩,先说需求: 需求是想要获取到图片的位置,然后根据图片的位置添加一个按钮 点击这个按钮 获取图片的信息 正常来讲 这样的需求 先获取dom 再遍历dom 往里面塞按钮就可以了 但是,考虑到各型各色的网站限制和...dom变化,这样就有很多问题, 所以就需要根据图片的当前位置(元素距离顶部的位置(包括滚动条),和左边的位置)来动态的添加这个按钮 因为是hover触发的 所以这个按钮只有一个 (这样的做法是参考阿里以图搜图的功能做的...) ok 需求明白了之后 开始说怎么做 先说公式代码:( top: 图片距离顶部高度+滚动条的高度,left:图片距离左侧的高度) 1.滚动条的高度     // 获取 当前 滚动条的长度, 水平 ...、左的距离:(主要方法:dom.getBoundingClientRect)       // 获取 dom 到视口左侧和顶部的相对位置       function getDomToViewPosition...left为:20 距离上为:266.515625 当前滚动条的高度为:4683 按照我们的公式 我们动态添加的按钮的位置应该是: top:4683+266.515625 = 4949.515625 left

2K10
您找到你想要的搜索结果了吗?
是的
没有找到

js获取各种高度总结

在写js的时候偶尔需要获取各种高度,比如;浏览器高度,页面高度,滚动高度等。抽空整理了我自己常用到的,时间仓促,没有考虑到万恶的IE浏览器。。。。...获取屏幕的高度和宽度(屏幕分辨率): window.screen.height window.screen.width 获取屏幕工作区域的高度和宽度(去掉状态栏): window.screen.availHeight...window.screen.availWidth 网页全文的高度和宽度: document.body.scrollHeight document.body.scrollWidth 滚动条卷上去的高度和向右卷的宽度...: document.body.scrollTop document.body.scrollLeft 网页可见区域的高度和宽度(不加边线): document.body.clientHeight document.body.clientWidth...网页可见区域的高度和宽度(加边线): document.body.offsetHeight document.body.offsetWidth

12.5K20

js获取各种距离和宽高

浏览器滚动掉的Y距离 鼠标event事件 属性 说明 offsetX 以当前的元素的左上角为原点, 距离元素顶部距离 offsetY 以当前的元素的左上角为原点, 距离元素左侧的距离 clientX..., 距离页面顶部距离, 随页面滚动而改变 pageY 以整个页面的左上角为原点, 距离页面左侧的距离, 随页面滚动而改变 screenX 以计算机显示屏屏幕左上角为原点, 距离屏幕顶部距离 screenY...以计算机显示屏屏幕左上角为原点, 距离屏幕左侧的距离 元素的宽高及各种距离 宽高 属性 说明 clientHeight/clientWidth 包括元素的可视部分的高度/宽度包括width/height...'px', 为字符串类型) 距离 属性 说明 offsetTop/Left 元素距离最近的带有定位(fixed/relative/absolute)的父元素顶部/左侧的距离 scrollTop/Left...此属性可以获取或者设置对象的最顶部到对象在当前窗口显示的范围内的顶边/左侧的距离,也就是元素滚动条被向下/向右拉动的距离

19610

jquery获取第几个子元素_js获取元素的指定子元素

可以这样理解,页面中的元素有相同的父元素 的,并且里面又包含li元素的,那么就取第一个li元素,每个子类集合都要进行判断,直到找出所有符合要求的li元素; :last-child:这个也与上面相对了,...(n):第n个匹配元素(不包括)之后的元素(n从0开始),如:ul:gt(2)返回从第3个ul开始的所有ul元素(含第三个); :lt(n):第n个匹配元素(不包括)之前的元素(n从0开始),如:ul...利用css选择器进行选择: 元素标签名:比如说(”a“)会选出所有链接元素; #id:通过元素id进行选择,比如说(“#form1”)会选择id为form1的元素; .class:通过元素的CSS类来选择...通过子选择器,容器选择器和属性选择器进行选择: *:匹配所有的元素,比如说:(*)会把页面中的所有元素都返回; E:匹配标签名为E的所有元素,如(“a”)返回所有链接元素; E F:匹配父元素E下的标签名为...F的所有子元素(F可以为E的子类的子类,甚至更远); E>F:匹配父元素E下的所有标签名为F的直接子元素; E+F:匹配所有标签名为F的元素,并且有E类型的兄弟节点在该F元素之前(E,F紧挨着); E~

27.1K30

js获取元素样式之getComputedStyle方法

习惯了jquery的同学应该都知道获取元素样式的方式可以直接写成(obj).css(style);更方便的获取高度宽度等一些样式可以直接使用(obj).height()和 一、 getComputedStyle...是什么 getComputedStyle是一个可以获取当前元素所有最终使用的CSS属性值。...为什么要用这个属性呢,是因为通过document.getElementById(element).style.xxx可以获取元素的样式信息但是对于通过class属性引用的外部样式表就获取不到了。...但是getComputedStyle属性是只读的属性,只能读属性,不能设置,但是他可以获取元素的最终样式信息。...例如,我们要获取一个元素高度,可以类似下面的代码: alert((element.currentStyle?

22.5K30

动态生成DOM元素高度及行数获取与计算方法

背景 在开发IM的项目过程中,经常会有出现一些需要计算DOM高度,然后超出若干行隐藏等需求。很多时候,需要计算高度的DOM元素都是动态生成的,我们无法在数据渲染前获取到它的高度。...技术方案 根据前端的基本常识,在内存中未渲染的DOM元素是无法获取高度的,因此我们有两个方向来解决这个难题: 通过字数对行数进行估算 将元素渲染后进行高度测算 实现方案 以下的实现方案将根据上面所选择的技术方案来进行实现...在DOM渲染后进行操作 方案 顾名思义,此方案就是先不考虑DOM元素行数逻辑,直接将所有的DOM节点全部渲染到页面中,渲染完成后再对进行后续逻辑判断。获取高度后页面行数计算将在后面统一讲解。...因为在使用了该属性后,window.getComputedStyle获取高度将变为auto。...总结 获取动态元素高度一直都是IM项目中的一个重要需求,自己在这个方面也踩了许多坑,因此写了这一篇博客来进行记录,同时其他人如果看到了也可以避免一些常见问题。

3.7K30

JS获取浏览器窗口大小 获取屏幕,浏览器,网页高度宽度

屏幕可用工作区宽度:window.screen.availWidth HTML精确定位:scrollLeft,scrollWidth,clientWidth,offsetWidth scrollHeight: 获取对象的滚动高度...scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离 scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离 scrollWidth:获取对象的滚动宽度...offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度 offsetLeft:获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置...,而不是元素。...(4)再通过深入Document内部对body进行检测,获取窗口大小,并存储在前述两个变量中。 (5)在函数的最后,通过按名称访问表单元素,结果输出至两个文本框。

8.1K30

js获取屏幕以及元素宽高的方法

window.screenTop 网页正文部分左:window.screenLeft 屏幕分辨率的高:window.screen.height 屏幕分辨率的宽:window.screen.width 屏幕可用工作区高度...document.body.scrollHeight 网页被卷去的高:document.body.scrollTop 网页被卷去的左:document.body.scrollLeft 三.滚动相关 scrollHeight: 获取对象的滚动高度...scrollWidth: 获取对象的滚动宽度 document.documentElement.scrollTop 垂直方向滚动的值 四.位置精确定位 scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离...scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离 offsetLeft:获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置 offsetTop...:获取对象相对于版面或由 offsetTop 属性指定的父坐标的计算顶端位置 五.坐标轴 event.clientX 相对文档的水平座标 event.clientY 相对文档的垂直座标 event.offsetX

6.8K20
领券