在通讯录内,我们常常会见到这么一个设计
那么我们应该如何去实现这一功能呢?
- 方法1 首先,我们想到的第一点就是 监听滑动事件 但是单纯的监听滑动事件,我们只能获取到第一次点击时的DOM元素 所以此时,需要配合 document.elementFromPoint(touchElement.clientX,touchElement.clientY) 来获取到当前坐标的元素(需要注意的时,这个api受z-index影响,需保证被滑动的元素在最顶层)
另外,部分浏览器存在下拉刷新机制,我们可以通过给 body 设置 overflow:hidden 来阻止
- 方法2
通过监听touchmove以及$("item").scrollIntoView来实现.
$("#item-container .flag").each(function(){
if($(this).text() == "A"){
this.scrollIntoView({block: "center"});
}
});