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

获取图片位置(距离顶部

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

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

JS-获取class类名为某个元素-【getClass】函数封装

原理:  根据class获取元素.  原理是,取出oparent下所有元素,组成数组,然后遍历类名,全等判断。...class为clsName元素     oElements  = oParent.getElementsByTagName('*');     //oElements 获得是父元素所有元素,...== clsName){     //判断数组中,元素类名如果和传过来想要获取类名一致的话             boxArr.push(oElements[i]);      //...________________________________________________________________________2017-05-21  18:35:10 丰富一下另一端js...其实直接用getElementsByTagName获取也是一个元素集合。现在直接等于一个数组,能用方法和属性则更多了呢!顺便调用函数并传参。参数是父元素变量和需要找类名。

5K80

js判断数组中是否包含某个指定元素个数_js 数组包含某个元素

查找元素。 start:可选整数参数。规定在字符串中开始检索位置。 它合法取值是 0 stringObject.length - 1。...","Mango","Banana","Orange","Apple"]; var a = fruits.indexOf("Apple",4); // 6 注:string.indexOf()返回某个指定字符串值在字符串中首次出现位置...它参数是一个回调函数,所有数组元素依次遍历该回调函数,直到找出第一个返回值为true元素,然后返回该元素,否则返回undefined。...find() 方法为数组中每个元素都调用一次函数执行: 当数组中元素在测试条件时返回 true 时, find() 返回符合条件元素,之后值不会再调用执行函数。...findIndex() 方法为数组中每个元素都调用一次函数执行: 当数组中元素在测试条件时返回 true 时, findIndex() 返回符合条件元素索引位置,之后值不会再调用执行函数。

11K30

js删除数组中一个元素_js数组包含某个元素

大家好,又见面了,我是你们朋友全栈君。...第三种:删除数组中某个指定下标的元素 splice 删除 for 删除 第四种:删除数组中某个指定元素元素 splice 删除 filter 删除 forEach、map、for 删除 Set 删除...删除 var arr = [1,2,3,4,5]var new_arr = arr.splice(0, 1)// arr => [2,3,4,5]// new_arr => [1] 第三种:删除数组中某个指定下标的元素...不可以使用 delete 方式删除数组中某个元素,此操作会造成稀疏数组,被删除元素为位置依然存在为empty,且数组长度不变 2....不可以使用 forEach 方法比对数组下标值,因为 forEach 在循环时候是无序 第四种:删除数组中某个指定元素元素 splice 删除 var element = 2, arr =

11.7K40

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

Python如何获取页面上某个元素指定区域html源码?

1 需求来源自动化测试中,有时候需要获取某个元素所在区域页面源码,用于后续对比分析或者他用;另外在pa chong中可能需要获取某个元素所在区域页面源码,然后原格式保存下来,比如保存为html或者...2 测试对象获取博客园首页右侧【48小时阅读排行】词条;获取博客园首页右侧【10天推荐排行】词条。...", f"10天推荐排行为:{content[1]}")time.sleep(2)driver.quit()3.2 使用requests + lxml.etree实现3.2.1 实现过程同样获取对应元素.../aggsite/SideRight返回值vscode中,并进行运行:图片图片可以看到我们需要关键字就在以上接口中,所以先确定好我们所需要关键字请求接口为:https://www.cnblogs.com.../aggsite/SideRight;然后我们从以上运行页面中,获取真正【48小时阅读排行】和【10天推荐排行】元素属性(xpath)。

3K110

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

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

6.7K20

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

获取竖直滚动条到顶部垂直高度 (即网页被卷上去高度)(ie浏览器): document.documentElement.scrollTop; 获取水平滚动条左边水平宽度 (即网页被卷左去宽度...+padding+border) 获取元素高度:offsetHeight;(height+padding+border) 获取元素最左边距已定位父级对象长度(若无父级对象或父级对象没有定位,就是距离文档顶部...).width(); 获取竖直滚动条到顶部垂直高度 (即网页被卷上去高度) :$(document).scrollTop(); 获取水平滚动条左边水平宽度 (即网页被卷左去宽度):$(document...获取元素高度:$(obj).outerHeight(true); (height + padding + border + margin) 某个元素上边界距文档最上边距离:obj.offset()....top; 某个元素左边界距文档最左边距离:obj.offset().left; 鼠标移动: screenY: 鼠标相对于显示器屏幕左上角偏移 pageY: 鼠标相对于页面左上角偏移

14K32

js 判断数组是否包含某个元素方法集合原因_怎么判断数组有几个元素

find() 方法 4、JavaScript findIndex() 方法 5、for 循环和 if 判断 1、JavaScript indexOf() 方法 定义和用法 indexOf() 方法可返回某个指定字符串值在字符串中首次出现位置...规定需检索字符串值。 fromindex 可选整数参数。规定在字符串中开始检索位置。它合法取值是 0 stringObject.length – 1。...find() 方法为数组中每个元素都调用一次函数执行: 当数组中元素在测试条件时返回 true 时, find() 返回符合条件元素,之后值不会再调用执行函数。...数组每个元素需要执行函数。 currentValue 必需。当前元素 函数参数 index 可选。当前元素索引值函数参数 arr 可选。当前元素所属数组对象函数参数 thisValue 可选。...数组每个元素需要执行函数。 currentValue 必需。当前元素 函数参数 index 可选。当前元素索引值函数参数 arr 可选。当前元素所属数组对象函数参数 thisValue 可选。

6.3K60

js获取元素文档区域document(横向、纵向)坐标的两种方法

获取页面中元素文档区域document横向、纵向坐标的两种方法及其比较 在js控制元素运动过程中,对于页面元素坐标位置获取是经常用到,这里主要总结下两种方法: 一:通过叠加元素对象和它offsetParent...(如果存在)offsetLeft/offsetTop属性来实现 在阅读javascript高级程序设计第三版DOM部分时,了解获取某个元素在页面上偏移量,需要将这个元素offsetLeft和...js代码: // 获取元素文档区域坐标 function getPosition(element) { var actualLeft = element.offsetLeft, actualTop...js代码: // 获取元素文档区域坐标 function getPosition(element){ var dc = document, rec = element.getBoundingClientRect...(), _x = rec.left, // 获取元素相对浏览器视窗window左、上坐标 _y = rec.top; // 与html或body元素滚动距离相加就是元素相对于文档区域document

2.5K30

JS offsetParent属性:获取最近上级定位元素

js中,offsetParent 属性表示最近上级定位元素。...要获取相对父级元素位置,可以先判断 offsetParent 属性是否指向父元素,如果是,则直接使用 offsetLeft 和 offsetTop 属性获取元素相对于父元素距离;否则分别获得当前元素和父元素距离窗口坐标...//获取指定元素距离元素左上角偏移坐标//参数:e表示获取位置元素//返回值:返回对象直接量,其中属性x表示x轴偏移距离,属性y表示y轴偏移距离function getP (e) { if...offsetLeft属性值 var y = e.offsetTop; //读取offsetTop属性值 } else { //否则调用getW()扩展函数获取元素偏移位置,并返回它们差值..."x" : x, "y" : y },}下面调用该扩展函数获取指定元素相对父元素偏移坐标。

7.5K40
领券