首页
学习
活动
专区
工具
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...此属性可以获取或者设置对象的最顶部到对象在当前窗口显示的范围内的顶边/左侧的距离,也就是元素滚动条被向下/向右拉动的距离。

    23710

    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

    基于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

    6K21

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

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

    1.2K30

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

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

    93420

    亚马逊到空气币的距离

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

    37730

    一文搞懂 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
    领券