从日历中获取想要的日期(二)

2014-11-23 23:22:33 · 作者: · 浏览: 2
tLeft;
current = current.offsetParent;
}
return actualLeft;
}
复制代码
  求出输入框的纵向偏移量代码:
getElementTop: function (element){
var actualTop = element.offsetTop;
var current = element.offsetParent;
while (current !== null){
actualTop += current.offsetTop;
current = current.offsetParent;
}
return actualTop;
}
其中的offsetLeft是当前元素的左外边框至包含元素的左外边框之间的像素距离,offsetTop是当前元素的上外边框至包含元素的上外边框之间的像素距离,offsetParent是当前元素的包含元素。通过将元素的offsetLeft和offsetTop与包含元素的的相同属性相加,如此循环直到根元素,就求出了元素的左和上的偏移量。当然,也可以通过getBoundindClientRect来获取元素偏移量。
  得到输入框的偏移量,接下来就好办了,把日历定位在输入框下方的适当位置就可以了,下面定位代码:
var offsetLeft = this.getElementLeft(target);
var offsetTop = this.getElementTop(target);
cal.style.top = offsetTop + 24 + "px";
cal.style.left = offsetLeft + 20 + "px";