以div为例:
拖动后记录x,y值
给div加上mousePosition事件
function mousePosition(evt){
evt = evt || windowevent;
return {
x : evtclientX + documentbodyscrollLeft - documentbodyclientLeft,
y : evtclientY + documentbodyscrollTop - documentbodyclientTop
}
}
第二次打开页面div定位
$(“div”)attr("top",y)attr("left",x);
$("选择器")offset() //该方法返回当前选择元素的第一个元素左上角(包括边框)距离整个页面顶部和左边的距离,返回值为{left:x, top:y} 例:$("div")offset()top;得到该元素在距离页面顶部的距离
$("选择器")offsetParent() //该方法与offset返回值类型相同,只不过此方法返回的是该元素距离父元素的top和left
如果使用jquery的话,可以这样写:
$(window)bind("scroll", function(){
var top = $(this)scrollTop(); // 当前窗口的滚动距离
});
如果使用原生js,可以这样写(摘自网上的):
/
获取滚动条距离顶端的距离
@return {}支持IE6
/
function getScrollTop() {
var scrollPos;
if (windowpageYOffset) {
scrollPos = windowpageYOffset; }
else if (documentcompatMode && documentcompatMode != 'BackCompat')
{ scrollPos = documentdocumentElementscrollTop; }
else if (documentbody) { scrollPos = documentbodyscrollTop; }
return scrollPos;
}
首先, 容器的position需要指定。
我假设是position: relative;
然后,就是计算。参考这2个文档
w3标准
jQuery的高度
代码如下,为了方便调试我加了jQuery UI
Html代码
#wrapper {
position: relative;/ <- 这个必须加/
<script src=">
以上就是关于js设置元素div相对body的距离全部的内容,包括:js设置元素div相对body的距离、js或jquery怎样获取htm中div控件相对于页面的left和top值解决方、js怎么获取滚动条到底部的距离等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)