1. 程式人生 > >字母導航跳轉react核心程式碼

字母導航跳轉react核心程式碼

componentDidMount() {
    this.move();
}
skipToDep(e) {
    let dom = document.getElementById(e); // 獲取要跳至的字母節點
    if (e === '#') {
        this.props.scroller.scrollTo(0, 0);
    } else {
        this.props.scroller.scrollTo(0, -dom.offsetTop);
    }
}
move() {
    // 監聽字母導航列表的touchmove事件
    this.navigation.addEventListener('touchmove', e => {
        const node = document.elementFromPoint(e.touches[0].clientX, e.touches[0].clientY); // 獲取move時對應的節點
        this.skipToDep(node.innerText);
    });
}