zoukankan      html  css  js  c++  java
  • 获取元素在页面中的位置

    <!doctype html>
    <html lang="en">
    <head>
    	<meta charset="UTF-8">
    	<title>获取页面元素的位置</title>
    	<style>
    		div{padding:20px;}
    	</style>
    </head>
    <body>
    	<script>
    	//页面的实际尺寸
    		function getPagearea(){
    			if(document.compatMode == 'Backcompat'){
    				return {
    					width : Math.max(document.body.clientWidth,document.body.scrollWidth),
    					height : Math.max(document.body.clientHeight,document.body.scrollHeight)
    				}
    			}else{
    				return {
    					width : Math.max(document.documentElement.clientWidth,document.documentElement.scrollWidth),
    					height : Math.max(document.documentElement.clientHeight,document.documentElement.scrollHeight)
    				}
    			}
    		}
    		//获取元素在页面里的绝对位置
    		function getElementLeft(element){
    			var actualLeft = element.offsetLeft;
    			var current = element.offsetParent;
    			while (current !== null){
    				actualLeft += current.offsetLeft;
    				current = current.offsetParent;
    			}
    			return actualLeft;
    		}
    		function getElementTop(element){
    			var actualTop = element.offsetTop;
    			var current = element.offsetParent;
    			while (current !== null){
    				actualTop += current.offsetTop;
    				current = current.offsetParent;
    			}
    			return actualTop;
    		}
    		// 由于在表格和iframe中,offsetParent对象未必等于父容器,所以上面的函数对于表格和iframe中的元素不适用
    		//获取元素在页面里的相对位置
    		function getElementViewLeft(){
    			var actualLeft = element.offsetLeft;
    			var current = element.offsetParent;
    			while (current !== null){
    				actualLeft += current.offsetLeft;
    				current = current.offsetParent;
    			}
    			if(document.compatMode == 'Backcompat'){
    				var elementScrollLeft = document.documentElement.scrollLeft;
    			}else{
    				var elementScrollLeft = document.body.scrollLeft;
    			}
    			return actualLeft - elementScrollLeft;
    		}
    		
    
    	</script>
    </body>
    </html>
    

      

  • 相关阅读:
    Clang AST到IR的转换
    Clang教程之实现源源变化(4)
    Clang AST介绍
    Clang教程之实现源源变化(3)
    Clang教程之实现源源变化(2)
    JavaScript函数constructor的作用,意义
    如何用正确的姿势编写jQuery插件
    半成品博客皮肤(不知有没有继续下去的必要)
    【解决方法】ModuleNotFoundError: No module named 'flask._compat'
    【课程章节更新】微信小程序 getUserProfile 新接口使用
  • 原文地址:https://www.cnblogs.com/youzhuxiaoyao/p/8658105.html
Copyright © 2011-2022 走看看