无题

无题,或是无中心,或是无法表达。

记忆,是个很会欺骗人的东西。总以为会一生一世永世难忘,结果时过境迁,记忆消淡。

当初念念不忘的恩师容貌无法再忆起,只保留着对我的好和那时那份心情。而这些还能留住多久,实在没有信心。

离别,最是伤人。

刻意保持着一定的距离,其中也有着不想离别时莫名感伤的原因。可惜,时间久了,还是会慢慢熟悉; 逐渐大了,慢慢变得重感情。

不淹没于烟雾,也不醉于酒坛,偶尔静坐,无言。

element.scrollIntoView

有一个常见的需求是:把页面滚动到某一个元素处。

我一直以来的做法都是计算处该元素在页面的位置,然后设置 documentElement 的 scrollTop 或用 window.scrollTo(x, y) 来实现。

发现 DOM API 中有着一个简单的方法,并且兼容包括 IE6 等主流浏览器,那就是 element.scrollIntoView(alignWithtop) 。

从命名可知,是把对应元素滚入可视范围,可带一参数,参数类型是 boolean,true 时表示元素顶部和滚动区域的顶部对齐,false 时元素底部和滚动区域底部对齐,不带该参数和 true 的效果一致。

关于对齐,说的自然是尽可能对齐,当无法再滚时,不会拉伸页面来强行对齐。

上面用「滚动区域」而不是窗口来表述对齐,说的是不单对整个页面的滚动可用,也对页面别的有滚动条的元素生效。当对某一元素应用该方法时,从最内层的滚动区域开始调整 scrollTop,没进入可视范围,再继续调整外层滚动区域的 scrollTop 。

一个 demo

References