2016-01-05

获取元素高度

1
2
3
4
$("#content").height();
$("#content").innerHeight(); // 元素内部区域高度,忽略 padding、border
$("#content").outerHeight(); // 忽略边框
$("#content").outerHeight(true); //包含边框高度

scrollIntoViewIfNeeded

DOM规范中并没有规定各浏览器需要实现怎样的滚动页面区域,各浏览器实现了相应的方法,可以使用不同的方式控制页面区域的滚动。这些方法作为HTMLElement类型的扩展存在,所以它能在所有元素上使用。

  1. scrollIntoView(alignWithTop) 滚动浏览器窗口或容器元素,以便在当前视窗的可见范围看见当前元素。如果alignWithTop为true,或者省略它,窗口会尽可能滚动到自身顶部与元素顶部平齐。——-目前各浏览器均支持

  2. scrollIntoViewIfNeeded(alignCenter) 只在当前元素在视窗的可见范围内不可见的情况下,才滚动浏览器窗口或容器元素,最终让当前元素可见。如果当前元素在视窗中可见,这个方法不做任何处理。如果将可选参数alignCenter设置为true,则表示尽量将元素显示在视窗中部(垂直方向)——Safari、Chrome实现了这个方法

halt()

1
halt (stopImmediatePropagation)

如果 stopImmediatePropagation==true 则相当于调用 stopImmediatePropagation + preventDefault

否则相当于调用 stopPropagation + preventDefault

Comments