2016-08-11 3 views
0

В JavaScript в веб-я хотел бы сделать что-то вроде этого, чтобы определить, если пользователь находится в верхней части прокручивать страницы/документа:Реагировать родной ли пользователь находится в верхней части экрана

$(document).scroll(function() { 
    if($(window).scrollTop() === 0) { 
    //do stuff 
    } 
}); 

Есть ли что-то аналогичный в React Native, который может помочь мне определить, находится ли пользователь в верхней части экрана или нет?

ответ

1

Использование ScrollView вы можете сделать что-то вроде этого:

_handleScroll(event) { 
    if(event.nativeEvent.contentOffset.y <= 0) { 
     console.log('top!'); 
    } 
} 
render() { 
    return (
     <View style={styles.container}> 
      <ScrollView 
       onScroll={this._handleScroll}  
       onScrollAnimationEnd={this._handleScroll} 
       style={{flex: 1}}> 
        <View style={[styles.child, {backgroundColor: 'red'}]} /> 
        <View style={[styles.child, {backgroundColor: 'orange'}]} /> 
        <View style={[styles.child, {backgroundColor: 'green'}]} /> 
      </ScrollView> 
     </View> 
    ); 
} 
var styles = StyleSheet.create({ 
    container: { 
     flex: 1, 
     backgroundColor: '#F5FCFF', 
    }, 
    child: { 
     flex: 1, 
     height: 400, 
    } 
}); 

Надеется, что это помогает!

1

Да ScrollView компонент имеет OnScroll метод. pageX и Пейджи свойство evt nativeEvent contentOffset x y

handleScroll(event) { 
console.log(event.nativeEvent.contentOffset.y) 
}, 

<ScrollView onScroll={this.handleScroll}/> 
+0

contentOffset.y является правильным, страница Y относится к размеру экрана не всей страницы. :) –

+0

спасибо! обновленный – stereodenis