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

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

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

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

    js获取各种距离和宽高

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

    23710

    原生JavaScript获取元素的margin外边距

    最近想找一个可以获取元素高度(包括外边距margin)的方法,原生JS的实现方法一直没有找到,不过有一个方法可以获取元素的边距,记录一下: 语法是(获取元素的属性值): getComputedStyle...let my_div = document.getElementById("myDiv"); let style = window.getComputedStyle(my_div, null); 获取元素的上边距...,JS可以这样写: //    兼容IE和火狐谷歌等的写法     if (window.getComputedStyle) {         var computedStyle =...alert(computedStyle.marginTop); 这样就能弹出 div 的上边距了。...而不同点就是: element.style 读取的只是元素的内联样式,即写在元素的 style 属性上的样式;而 getComputedStyle 读取的样式是最终样式,包括了内联样式、嵌入样式和外部样式

    9.6K10

    很可爱的返回顶部js素材,网站安装教程

    给自己网站放一个返回顶部js特效效果把,主要是图片素材也不错,比较抢镜,所以弄个小教程,比较简单,放上去试试看把 ?...首先,主要代码如下 这里代码放在,一般是底部foot的文件里面,具体位置底部就行,faa-float是自然状态的摇曳抖动的效果 样式css的配置: /*gotop*/ @media (max-width.../img/scroll.png); transition: all .5s ease-in-out; opacity: 1; } 最末尾的代码是图片的地址,图片我已经打包了,可以直接下载...最后是js文件,控制滑动返回的效果特效的 $(function() { //scroll 事件适用于所有可滚动的元素和 window 对象(浏览器窗口)。...// $('.back-to-top').fadeOut(); } }) /*点击返回顶部

    1.7K20

    HTML+JS实现简单贪吃蛇游戏

    然后是js代码,首先获取snake的div: var snake = document.getElementById("snake"); 判断按钮,把方向记录下来(wasd、上左下右): //这里的direction...这里就需要使用定时器: //这个的move方法是自己定义的 time = setInterval(move, 200); 然后说一下move方法,先获取snake的div,然后获取div距浏览器上面和左边的距离...: //获取div var snake = document.getElementById("snake"); //获取div离顶部的距离 var top_length = snake.offsetTop...; //获取div离左边的距离 var left_length = snake.offsetLeft; 然后判断方向移动,这里就写一个方向,其他的也差不多: //根据先前保存的direction,分辨方向...> 0){ //每次向上移动10px top_length -= 10; //改变snake距顶部的距离

    4.2K20

    JS 吸顶导航,告别“回到顶部”

    ,致力于构建一个前端、HTML5的分享平台,能够给学生提供一些资料,也为广大前端爱好者提供一个分享平台,其中涉及到的基本知识,JS底层知识,JS底层知识,面试真题、相关技术、未来发展等。...二、吸顶功能添加 1.实现思路是监听 scroll 事件,判断当前页面的滚动位置,当滚动距离大于导航条距顶部的距离时,为导航条采用窗口定位。...(inseDiv, tit); inseDiv.appendChild(tit); inseDiv.style.height = rect.height + 'px'; // 获取导航条距页面顶部的距离...var titTop = tit.offsetTop; //设置滚动监听事件 document.onscroll = function() { //获取当前滚动距离...var btop = document.body.scrollTop || document.documentElement.scrollTop; //如果滚动距离大于导航条距顶部距离

    7.7K70

    微信小程序自定义导航栏兼容适配所有机型

    1.获取导航栏高度及按钮位置 微信提供了获取导航栏高度的Api和胶囊按钮位置的Api // 系统信息 const systemInfo = wx.getSystemInfoSync(); // 胶囊按钮位置信息...statusBarHeight // 状态栏高度 screenWidth // 胶囊的宽度 top // 胶囊到顶部距离 height...// 胶囊的高度 right // 胶囊距离右边的距离 通过这几个参数,我们可以计算出状态栏的高度,微信胶囊所占的高度(存在padding值,可以使元素和胶囊纵向居中)...(胶囊距上距离-状态栏高度) * 2 + 胶囊高度 + 状态栏高度 this.globalData.navBarHeight = (menuButtonInfo.top - systemInfo.statusBarHeight...app.globalData.navBarHeight, //导航栏高度 menuBotton: app.globalData.menuBotton, //导航栏距离顶部距离 menuRight

    2.5K1110

    h5软键盘挡住输入框问题解决(android)

    第二种会出现遮挡问题 于是想到以下两种方案: 1.通过动态增加页面高度和设置scrollTop来使输入框到达合适的位置 2.设置相对定位,通过top来使输入框到达合适的位置 影响实现的两个点: 1.js...直接上代码,这里是react项目(css设置absolute配合js改变top实现效果,transition过渡增强用户体验,这里就不放了) getElementOffsetTop(el) {...const clientHeight = body.clientHeight //可见高 const fixHeight = clientHeight/3 // 定位高,弹出键盘时input距浏览器上部的距离...Array.prototype.map.call(inputs,item=>{ return this.getElementOffsetTop(item) // offsetTop只能获取到顶部距它的...offsetParent的距离,需此方法获取到元素距顶部的距离 }) inputs.forEach((item, i)=>{ item.addEventListener

    6.5K10

    Vue.js的图片加载性能优化你可以试试

    资源 Vue.js Element UI 优化一:图片加载动画 只有当图片加载完成后才可以显示图片,加载动画结束。我们使用Element UI中的loading组件来用作加载的动画。...// 获取图片距离 getRect(element) { const rect = element.getBoundingClientRect(); const top...document.documentElement.clientHeight||document.body.clientHeight; for (let i = n; i < len; i++) { // 如果图片距顶部距离小于可见区域高度与滚动条距离顶部高度之和时...1、在src根目录下创建util文件夹,里面创建util.js; 2、在src根目录下的main.js中键入以下代码,引入util.js,并且全局注册; import utils from '....document.documentElement.clientHeight||document.body.clientHeight; for (let i = n; i < len; i++) { // 如果图片距顶部距离小于可见区域高度与滚动条距离顶部高度之和时

    1.9K10

    React-Native 版高仿淘宝、京东商城首页、商品分类页面

    项目地址:https://github.com/pengzhenjin/react-native-mall 效果图 已实现功能 沉浸式状态栏 酷炫的顶部导航动画 消息角标 循环轮播图 搜索 商品一级分类...商品二级分类 商品子分类 顶部滑动的tab、智能下拉菜单 用到的技术 自定义 Badge(角标) 动画、动画插值器 Swiper 轮播图 自定义 tab 自定义 popup 弹窗下拉菜单 FlatList...outputRange: [0, 80], // 将右边距改为从0~80 extrapolate: 'clamp' // 滚动超出0~80的范围,不在更改边距..., pageY) => { const topOffset = pageY + height // 计算"下拉菜单"距离页面顶部的偏移量 this.dropdownMenu.show...) 方法可以动态的获取组件在屏幕中的位置、宽高信息。

    3.1K10

    JS手机端touch事件计算滑动距离的方法

    计算手势在手机屏幕上滑动时,手势滑动的距离,代码如下: function wetherScroll(){ var startX = startY = endX =endY =0; var body=...document.getElementsByTagName(“body”); body.bind(‘touchstart’,function(event){ var touch = event.targetTouches[0]; //滑动起点的坐标...body.bind(“touchmove”,function(event){ var touch = event.targetTouches[0]; //手势滑动时,手势坐标不断变化,取最后一点的坐标为最终的终点坐标...distanceY=endY - startY; // console.log(“distanceX:”+distanceX+","+“distanceY:”+distanceY); //移动端设备的屏幕宽度...=Math.abs(distanceY)){ //在滑动的距离超过屏幕高度的20%时,做某种操作 if(Math.abs(distanceY)>clientHeight0.2){ //向下滑实行函数

    6.7K20
    领券