Reactでスクロールインジケータの進行状況バーをコーディングしようとしています。私はJqueryを使って作業していますが、純粋なJavascriptでそれを行う方法を知りたいと思います。Reactでスクロール位置インジケータを作成する
componentDidMount() {
window.addEventListener('scroll', this.handleScroll);
}
handleScroll() {
var winHeight = $(window).height(),
docHeight = $(document).height(),
value = $(window).scrollTop(),
max, percent;
max = docHeight - winHeight;
percent = (value/max) * 100;
this.props.updatePercent(percent);
}
また、私は純粋なJavascriptでこれを行う必要がありますか?私はJqueryをReactで使うべきではないと言われてきました。
ありがとうございます。身体の高さを使用する代わりに、ID #articleの要素を使用できるかどうかも疑問です。どうすればいいのか教えていただけますか? 'var body = document.body'をvar' body = document.getElementById( 'story_body') 'に置き換えようとしましたが、記事にスクロールしてもスクロールインジケータは表示されません。 – domi91c
私の答えを編集して、それがどのように行われたかを表示します。ロジックは、文書全体ではなく要素内でスクロール位置を取得する場合は少し異なります。 –