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

获取图片位置(距离顶部

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

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

item高度不同时Recyclerview获取滑动距离方法

前言 最近遇到需求,要计算RecyclerView滑动距离,用提供computeVerticalScrollOffset()方法得到值不是很准确。...是基于item平均高度算得,如果列表中item高度一致可以用此方法。问题来了,我应用场景是各item高度不一,这时就只能另找方法了。...所以考虑重写LinearLayoutManagercomputeVerticalScrollOffset()方法,既然原生方法是按平均高度计算,那重写该计算逻辑,就能达到我们想要效果。...1.统计列表已展示过item高度,在每次布局完成时候,用一个map记录positon位置item对应view高度。...,通过heightMap循环累加0到positonitem高度,再加上第一个可见item不可见部分高度

2.8K10

js获取元素几种形式

通过id获取元素 document.getElementById('div');//获取id为div元素 通过class获取 document.getElementsByClassName('top'...);//获取页面中所有的class为top元素集合 通过标签名获取 document.getElementsByTagName('p');//获取页面中所有的标签为p元素集合 通过name获取 document.getElementsByName...('user');//获取页面中所有的name为user元素集合 注意:通过class,name标签名抓取元素是一个集合,即使该类只有一个符合要求元素目标,也返回是一个集合,因此可以存储变量,通过变量名...[0]获得第一个符合要求标签目标....简单可以将返回的当做一个存储符合数组,通过下标进行找到指定位置. 当然也可以使用数组方法返回,集合目标数. alert(tops.length)可以提示出class为top目标数

25.2K30

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

可以这样理解,页面中元素有相同元素 ,并且里面又包含li元素,那么就取第一个li元素,每个子类集合都要进行判断,直到找出所有符合要求li元素; :last-child:这个也与上面相对了,...An+B所有子节点,比如3n+1返回所处位置为父节点子元素是3倍数加1那个子元素; :even:页面范围内处于偶数位置元素,如:li:even返回全部偶数li元素; :odd:页面范围内处于奇数位置元素...(n):第n个匹配元素(不包括)之后元素(n从0开始),如:ul:gt(2)返回从第3个ul开始所有ul元素(含第三个); :lt(n):第n个匹配元素(不包括)之前元素(n从0开始),如:ul...F所有子元素(F可以为E子类子类,甚至更远); E>F:匹配父元素E下所有标签名为F直接子元素; E+F:匹配所有标签名为F元素,并且有E类型兄弟节点在该F元素之前(E,F紧挨着); E~...C等效于*.C; E#I:匹配id为I所有元素E,#I等效于*#I; E[A]:匹配带有属性A所有元素E; E[A=V]:匹配所有属性A值为V元素E; E[A^=V]:匹配所有元素E,且A属性值是

27K30

js获取各种距离和宽高

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

8010

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

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

3.7K30

js获取元素样式之getComputedStyle方法

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

22.4K30

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

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

6.7K20

js、jQuery 获取文档、窗口、元素各种值

; 浏览器整个文档高: document.body.scrollHeight; 获取竖直滚动条到顶部垂直高度 (即网页被卷上去高度)(其他浏览器):document.body.scrollTop;...获取竖直滚动条到顶部垂直高度 (即网页被卷上去高度)(ie浏览器): document.documentElement.scrollTop; 获取水平滚动条到左边水平宽度 (即网页被卷左去宽度...+padding+border) 获取元素高度:offsetHeight;(height+padding+border) 获取元素最左边距已定位父级对象长度(若无父级对象或父级对象没有定位,就是距离文档顶部...body宽度: $(document.body).width(); 获取竖直滚动条到顶部垂直高度 (即网页被卷上去高度) :$(document).scrollTop(); 获取水平滚动条到左边水平宽度...+ padding + border + margin) 获取元素高度:$(obj).outerHeight(true); (height + padding + border + margin) 某个元素上边界距文档最上边距离

14K32
领券