
如果元素是body内的一级元素,可以用offsetLeft直接获得其左边距。
如果元素是嵌套的,且父元素中存在容器元素(即具有定位属性的元素,包括绝对定位、相对定位、固定定位),则情况要变复杂了,需要把所有容器的offsetLeft和元素的offsetLeft相加才是最终的左边距:
var obj=documentgetElementById("test"); //假定元素的id为testvar left=objoffsetLeft;
while(obj=objoffsetParent){
left+=objoffsetLeft;
}
consolelog(left); //left就是左边距
取父窗口的元素方法:
$(selector, windowparentdocument);
那么你取父窗口的父窗口的元素就可以用:
$(selector, windowparentparentdocument);
类似的,取其它窗口的方法大同小异,
$(selector, windowtopdocument);
$(selector, windowopenerdocument);
$(selector, windowtopframes[0]document);
js:
父窗口:
1、<input type="text" name="currentProjectIDForDetail" id="currentProjectIDForDetail"
disabled
2、<input type="button"
onclick="windowopen('showDetailshtml','','toolsbar=no,menubar=no,resizable=yes,scrollb
ars=yes')" value="查看已有明细" id="showDetail" />
子窗口:
curproject = windowopenerdocumentgetElementById("currentProjectIDForDetail")value;
jQuery:
父窗口:
<input type="text" name="aa" id="aa" />
<input type="button"
onclick="windowopen('sonhtml','','toolsbar=no,menubar=no,resizable=yes,scrollbars=yes')
" value="send" />
子窗口:
<script>
$(function () {
temp=$("#aa",windowopenerdocument)val();
$("#bb")html(temp);
})
</script>
</head>
<body>
<div id="bb"></div>
上次使用了css实现吸顶的方法,这次使用原生js来实现这个效果
做这个效果的前提:掌握offset系列 ,掌握scroll系列
offsetWidth:元素的内容宽+左右padding+左右border
offsetHeight:元素的内容高+上下padding +上下border
offsetTop :当前元素的顶部,到定位父元素的距离,如果没有定位父元素,指的就是元素到body的距离 -----用于获取当前元素在页面中的位置
offsetLeft: 当前元素的左边,到定位父元素的距离,如果没有定位父元素,指的就是元素到body的距离
onscroll:滚动条触发的事件,只要滚动条滚动就会触发,滚动条在谁身上就给谁加滚动条
这是屏幕的滚动距离
documentdocumentElementscrollTop || documentbodyscrollTop
给屏幕添加滚动事件
windowonscroll=function(){
//获取滚动距离,提前给body设置高度
var top=documentdocumentElementscrollTop || documentbodyscrollTop
}
实现效果
向下滚动的时候:
到达一定高度的时候,红色的div会固定在顶部
关于使用inline-block来代替float的讨论也蛮多的,最常说的就是使用inline-block来代替float进行布局,或者使用inline-block来实现元素的居中效果。前面《CSS3制作的分页导航》一文中就是使用的inline-block制作的居中效果,不过留下了一上问题
这种问题的话,首先要确认你的offsetParent是谁,如果它的父级有设置position相对、绝对、fixed的话,那么offsetParent就是这个标签了,offsetLeft\Top就是相对于这个标签的位置了。不过用jquery可以很方便的获得
var offsetobj = $("#aaa")offset();
var left = offsetobjleft;
var top = offsetobjtop;
发现答非所问的人还不少啊
取父窗口的元素方法:$(selector, windowparentdocument);
那么你取父窗口的父窗口的元素就可以用:$(selector, windowparentparentdocument);
类似的,取其它窗口的方法大同小异
$(selector, windowtopdocument);
$(selector, windowopenerdocument);
$(selector, windowtopframes[0]document);
希望对你能有帮助
可以判断一个物体的跟document的左边距离,也就是浏览器左边缘。写一个div 获取这个div之后alert(你的divoffsetLeft)就可以距离浏览器左边的距离。
offset不单单只有Left 还有offsetTop offsetWidth offsetHeight 都是JS里很有用的属性。(PS:此属性当父元素没有position时有效,有父元素时将是判断距离父元素的距离)。
扩展资料:
JavaScript是一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。
它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。
Javascript被归类为直译语言,因为主流的引擎都是每次运行时加载代码并解译。V8是将所有代码解译后再开始运行,其他引擎则是逐行解译(SpiderMonkey解译过的指令暂存,以提高性能,称为实时编译)。
但由于V8的核心部分多数用Javascript撰写(而SpiderMonkey是用C++),因此在不同的测试上,两者性能互有优劣。与其相对应的是编译语言,例如C语言,以编译语言编写的程序在运行之前,必须经过编译,将代码编译为机器码,再加以运行。
参考资料来源:百度百科-javascript
以上就是关于js 可以用offsetWidth 获取控件宽度 , 能获取左边框与body的距离吗全部的内容,包括:js 可以用offsetWidth 获取控件宽度 , 能获取左边框与body的距离吗、js/jquery如何获取父窗口的元素、八行代码js实现吸顶效果等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)