function findScroller(element) {
	element.onscroll = function() {
		console.log(element)
	Array.from(element.children).forEach(findScroller)
findScroller(document.body)

解决方法:

让每个列表产生自己的滚动容器

.article-list {
	height: 100%;
	overflow-y: auto;
                                    在此之前,首先了解下  事件和  属性的使用:​	描述:当元素的滚动滚动时触发的时间。
onscroll 事件的定义与触发条件
​	 事件可以被任何元素绑定,包括 、、。​	默认初始情况下,只有  对象拥有  事件的定义与触发条件。这是因为  对象包含的页面默认是当页面高度过大时自动出现滚动条,即 对象自带  属性,同时它也具备固定的  高度,所以可以触发  事件。​	也就是说,只有定义了 overflow: auto|scroll; 内容超过出现滚动条、且给定了 height 的元素本身,才能定义与触发
2.通过window.scrollTo方法滚动
//scrollTo两个参数分别表示显示的x y坐标位置
//document.documentElement.scrollHeight 获取的是整个文档的高度
//滚动
    element.onscroll = function() { console.log(element)}
    Array.from(element.children).forEach(findScroller);
findScroller(document.body);
首先你可能会想到使用: void scrollTo(int x, int y)  方法保存 ListView y 位置,
但是实际上,ListView 并不是一个 scroll,你不信可以监听他的滚动事件,x y 参数始终是 0
所以此法不可行
      前不久做一个类似电商的h5项目,产品经理有个业务需求:用户在商品列表,点击某一条商品的时候,进入到详情页,从详情页返回的时候,需要定位到刚才点击的位置。 
      其实,这个场景,基本就是
跳转按钮:<a href="#anchorName">点击跳转当前页面指定锚点</a>
设置锚点:<a name="anchorName">a标签锚点</a>、<p id="anchorName">id锚点</p&gt...
                                    在做web版聊天软件时,有一个需求:如果向上拖动滚动条到顶部,就会加载更多历史记录(微信、QQ都是如此),历史记录逐条追加到顶端,这时看到的是最后的那条历史记录,但我们需要让用户看到的应该是第一条历史记录,这就需要将滚动滚动到历史记录的第一条。 
比如历史记录有3条,第一条发送时间是2017年11月24日18点30分30秒,第二条是18点25分,第三条是17点,因为聊天记录是按时间顺序排列的,顶端