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

获取图片位置(距离顶部

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

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

    js获取各种距离和宽高

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

    23110

    python自动化17-JS处理滚动条

    常见场景: 当页面上元素超过一屏后,想操作屏幕下方元素,是不能直接定位,会报元素不可见。 这时候需要借助滚动条来拖动屏幕,使被操作元素显示在当前屏幕上。...二、控制滚动条高度 1.滚动条回到顶部js="var q=document.getElementById('id').scrollTop=0" driver.execute_script(js)...2.通过左边控制横向和纵向滚动条scrollTo(x, y)js = "window.scrollTo(100,400);" driver.execute_script(js) 3.第一个参数x是横向距离...--scrollHeight 获取对象滚动高度。  --scrollLeft 设置或获取位于对象左边界和窗口中目前可见内容最左端之间距离。 ...--scrollTop 设置或获取位于对象最顶端和窗口中可见内容最顶端之间距离。  --scrollWidth 获取对象滚动宽度。

    6K20

    python自动化之JS处理滚动条

    滚动条操作 浏览器滚动条并没有提供相应操作方法。在这种情况下,就可以借助JavaScript也就是JS来控制浏览器滚动条。...js="window.scrollTo(100,450);" driver.execute_script(js) 当页面上元素超过一屏后,想操作屏幕下方元素,是不能直接定位,会报元素不可见。...selenium里面也没有直接方法去控制滚动条,这时候只能借助JS了,还好selenium提供了一个操作js方法: execute_script(),可以直接执行js脚本。...--scrollHeight 获取对象滚动高度。 --scrollLeft 设置或获取位于对象左边界和窗口中目前可见内容最左端之间距离。...--scrollTop 设置或获取位于对象最顶端和窗口中可见内容最顶端之间距离。 --scrollWidth 获取对象滚动宽度。

    5K20

    Selenium及python实现滚动操作多种方法

    selenium并不是万能,有时候页面上操作无法实现,这时候就需要借助JS来完成了。   当页面上元素超过一屏后,想操作屏幕下方元素,是不能直接定位,会报元素不可见。...方法一:使用js脚本直接操作 # 滚动到顶部 def scroll_top(self): if self.driver.name == "Chrome": js = "var q...=10000″ driver.execute_script(js) 这里id为滚动条id,但js中没有xpath方法,所以滚动条没有id网页此方法不适用 上面展示是上下方向滚动条,接下来介绍左右方向滚动条操作方法...–scrollLeft 设置或获取位于对象左边界和窗口中目前可见内容最左端之间距离。 –scrollTop 设置或获取位于对象最顶端和窗口中可见内容最顶端之间距离。...里面有一个非常好用功能Focus,会自动定位元素。

    6.2K21

    基于JS实现回到页面顶部五种写法(从实现增强)

    写法 【1】锚点   使用锚点链接是一种简单返回顶部功能实现。...如果为true,表示元素顶部与当前区域可见部分顶部对齐(前提是当前区域可滚动);如果为false,表示元素底部与当前区域可见部分尾部对齐(前提是当前区域可滚动)。...,滚动条以一定速度回滚到顶部   动画有两种:一种是CSS动画,需要有样式变化配合transition;一种是javascript动画,使用定时器来实现     在上面的5种实现中,scrollTop...值每次减少50,直到减少0,则动画完毕 var timer = null; box.onclick = function(){ cancelAnimationFrame(...参数通过scrollTop值获取,每次减少50,直到减少0,则动画完毕 var timer = null; box.onclick = function(){ cancelAnimationFrame

    5.4K21

    js如何实现阅读完协议后才可以注册

    阅读完协议才可以单机注册阅读完协议才可以单机注册阅读完协议才可以单机注册阅读完协议才可以单机注册阅读完协议才可以单机注册阅读完协议才可以单机注册阅读完协议才可以单机注册阅读完协议才可以单机注册阅读完协议才可以单机注册阅读完协议才可以单机注册阅读完协议才可以单机注册阅读完协议才可以单机注册阅读完协议才可以单机注册阅读完协议才可以单机注册阅读完协议才可以单机注册阅读完协议才可以单机注册阅读完协议才可以单机注册阅读完协议才可以单机注册 用户注册 js...滚动事件,并借助滚动高度scrollHeight,当文本域距离顶部距离与文本域可视区域高度大于文本域滚动高度式 那就说明用户已经看完了协议内容,然后可以激活启动用户注册按钮状态 元素,scrollTop...:距离顶部距离 元素.clientHeight: 元素高度,它是固定,包括padding但不包括border、水平滚动条、margin元素高度,与元素滚动、位置没有关系,它代表元素自身高度...元素.scrollHeight: 滚动条滚动高度,代表在有滚动条时,滚动条向下滚动距离也就是元素顶部被遮住部分高度,在没有滚动条时,那么它scrollTop:0,可以获取设置一个元素内容垂直滚动距离...,代表这个元素顶部视口可见内容(顶部距离

    1.2K30

    javascript中offsetWidth、clientWidth、innerWidth及相关属性方法

    关于jsoffsetWidth、clientWidth、scrollWidth等一系列属性及其方法一直都傻傻分不清,这里就来总结一下这些方法用法和含义。...定位父节点 top方向距离 * offsetLeft 获取当前元素 定位父节点 left方向距离 * * scrollWidth 元素内容真实宽度,内容不超出盒子高度时为盒子...获取整个文档高度(包含bodymargin) * document.body.offsetHeight 获取整个文档高度(不包含bodymargin) * *...() 获取元素body * bottom: 元素底边(包括border)可视区最顶部距离 * left: 元素最左边(不包括border)可视区最左边距离 *...right: 元素最右边(包括border)可视区最左边距离 * top: 元素顶边(不包括border)可视区最顶部距离 * height: 元素offsetHeight

    91120

    亚马逊空气币距离

    近日流传非常广一张图片,阐述了亚马逊CTO说亚马逊是如何开发一项产品,简单来说,他们采用向后工作方法,开发一项产品顺序为: 写新闻稿 写FAQ 写用户文档 写代码 咋一看这个开发模式非常诡异...但是这个方法好处是显而易见,假设一切都能顺利执行的话。通过新闻稿FAQ用户文档一路下来,亚马逊对用户需求已经搞得非常清楚了。做出来产品,很难想像是满足不了用户需求,或者制造用户伪需求。...这个开发模式诡异之处在于它非常反人类。但是亚马逊发展本身就是一个颠覆一般人正常思维过程。很多例子都可以说明这个问题。比如现在赢得了无数赞誉亚马逊Prime会员。...空气币满天飞币圈链圈是骗子丛生地方,但是也不乏一些项目在认认真真的写代码。所以创造者和骗子距离并不遥远,差也就是认认真真写代码而已。...在这个写新闻稿不需要写代码年代里,创造者和骗子距离,就是亚马逊和币圈链圈很多项目的差距。抱着割下一茬韭菜入场割韭菜者迟早要被割。

    37330

    一文搞懂 JavaScript 中 DOM 相关距离

    ) textarea.offsetLeft = 10(元素左外border距离父元素左内border距离) 由于每次打开时,滚动条位置不变,所以我需要 js 设置滚动滚动条时候,看每个值变化...width(内容实际宽度,包括不可见区域) + padding scrollHeight = height(内容实际高度,包括不可见区域) + padding scrollLeft:指当前元素可见区左部,完整内容左部距离...(也就是横向滚动条滚动距离)。...scrollTop:指当前元素可见区顶部完整内容顶部距离(也就是纵向滚动条滚动距离)。 1.3、offset系列 在此之前,我们先看看一个属性:offsetParent。...= static),这个定位父元素就是我们计算所有offset属性参照物。 元素 offsetParent 获取方式: 通过元素offsetParent属性直接获取

    1.4K31
    领券