关于js获取元素在屏幕中的位置的方法

针对我们获取元素在页面中的位置的问题,我们还是用老师一峰老师的方法来解决吧

下面上HTML代码

<div class="left_footer">
   <p data-num="1" ref="data" @mouseenter="mOver($event)" @mouseleave="mOut($event)">上</p>
   <p data-num="2" ref="data" @mouseenter="mOver($event)" @mouseleave="mOut($event)">右</p>
   <p data-num="3" ref="data" @mouseenter="mOver($event)" @mouseleave="mOut($event)">左</p>
</div>

我拿上面的代码来简单举下例css代码我就不上了,在这里不影响

在上面我需要获取到对应的DOM元素就可以进行相关的函数操作了

下面我们直接上js代码:

  其中的element的意思是代表的是我们需要判断的这个节点

  函数的返回值就是我们所得到的距离值

getElementTop(element) {
      var actualTop = element.offsetTop;    //这是获取元素距父元素的的距离
      var current = element.offsetParent;   //这是获取父元素
      while (current !== null) {      //当它上面有元素时就继续执行
        actualTop += current.offsetTop;   //这是获取父元素距它的的父元素左上角的距离
        current = current.offsetParent;
      }
      return actualTop;
    },

原文地址:https://www.cnblogs.com/dy105525/p/12272072.html

时间: 2024-08-08 22:59:16

关于js获取元素在屏幕中的位置的方法的相关文章

js获取div相对屏幕的坐标位置

1:div相对屏幕的坐标位置 function getDivPosition(div){ var x = div.getBoundingClientRect().left; var y = div.getBoundingClientRect().top; return {x:x,y:y}; } 参数传js原生对象 getDivPosition($('#div0')[0]).x getDivPosition($('#div0')[0]).y  

android 获取view在屏幕中的位置

使用view中的getLocationOnScreen方法,即可: [java] view plaincopy final int[] locations = new int[2]; Button btn = (Button) findViewById(R.id.btn);<span style="font-family: Arial, Helvetica, sans-serif;">     </span> [java] view plaincopy btn.

JS 获取浏览器和屏幕宽高信息(转载)

JS 获取浏览器和屏幕宽高信息 网页可见区域宽:document.body.clientWidth网页可见区域高:document.body.clientHeight网页可见区域宽:document.body.offsetWidth (包括边线的宽)网页可见区域高:document.body.offsetHeight (包括边线的宽)网页正文全文宽:document.body.scrollWidth网页正文全文高:document.body.scrollHeight网页被卷去的高:documen

各种情况上JS获取元素宽高

各种情况下JS获取元素宽高 为了叙述简单,这里仅拿width示例. 情景一,元素style属性设置了width/height <div style="width:996px">test<div><script> var div = document.getElementsByTagName('div')[0]; alert(div.style.width);</script>默认分类 如上,使用el.style.width即可. 如果没有

获取元素在页面中left,top值(忽略其父级的定位)

函数用到的属性有: element.offsetLeft 返回当前元素的相对水平偏移位置的偏移容器 element.offsetParent 返回元素的偏移容器 element.offsetTop 返回当前元素的相对垂直偏移位置的偏移容器 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</ti

js获取元素样式方法

? 1 2 3 4 5 6 7 8 function getStyle(ojb,attr){       if(obj.currentStyle){             return obj.currentStyle[attr];       }         else{            return getComputedStyle(obj,false)[attr];        } } js获取元素样式方法,布布扣,bubuko.com

获取元素在浏览器中的绝对位置(从jquery1.8中抠出来)

<style> html,body{margin:0;padding:0;} .d1{margin-left:40px;background:red;width:2000px;height:100px;position:relative;} .d2{margin-left:40px;background:blue;width:1000px;height:80px;} </style> <div id="d1" class="d1">

js获取元素样式包括非行内样式

var obj=document.getElementById("id"): 由于js新版本的发放,越来越多的人喜欢用原生js而非jquery对dom元素进行操作,那么如果通过js获取dom元素的样式呢,很多人都知道用obj.style这种方式,但是,这种方式只能获取dom行内样式,一旦,我们定义class,然后再css文件里写时就会获取不到,下面我主要介绍获取行内样式和获取非行内样式两种获取方法. 1,获取行内样式. <div style="width:200&quo

js获取元素宽高

只说ie8+的浏览器的方法. 在转vue之前,一直使用jquery来获取元素的高度,最近转vue,发现了一个问题.使用vue的时候,部分操作需要在mounted这个生命周期里面去做,官网对mounted的解释是: 如果不在vm.$nextTick里面做操作的时候,是很有可能获取不到组件内部元素的宽高的.刚开始的时候,我没有仔细看官网,所以在mounted里面是直接获取不到子孙元素的宽高的. 后来,看了iview的一个组件的源码,看到了getComputedStyle方法获取宽高,对getComp