আমি কেবল প্রতিক্রিয়া এবং স্ক্রোলিং ইভেন্ট / অবস্থানগুলি নিয়ে কিছু জিনিস বের করার জন্য কিছুটা গুরুতর সময় ব্যয় করেছি - সুতরাং যারা এখনও খুঁজছেন তাদের জন্য আমি যা পেয়েছি তা এখানে:
ভিউপোর্টের উচ্চতা উইন্ডো। (বর্তমান ভিউপোর্ট উচ্চতা)
উইন্ডো.ডোকমেন্ট.বিডি.অফসেটহাইট ব্যবহার করে পুরো ডকুমেন্টের (বডি) উচ্চতা পাওয়া যাবে।
আপনি যদি নথির উচ্চতা সন্ধান করার চেষ্টা করছেন এবং আপনি কখন নীচে আঘাত করেছেন তা যদি জানেন - আমি এখানে যা এলাম তা এখানে:
if (window.pageYOffset >= this.myRefII.current.clientHeight && Math.round((document.documentElement.scrollTop + window.innerHeight)) < document.documentElement.scrollHeight - 72) {
this.setState({
trueOrNot: true
});
} else {
this.setState({
trueOrNot: false
});
}
}
(আমার নাবারটি স্থির অবস্থানে 72px ছিল, সুতরাং আরও ভাল স্ক্রোল-ইভেন্ট ট্রিগার পেতে -72)
শেষ অবধি, কনসোল.লগ () এর জন্য বেশ কয়েকটি স্ক্রোল কমান্ড রয়েছে, যা আমাকে সক্রিয়ভাবে আমার গণিতটি বের করতে সহায়তা করেছিল।
console.log('window inner height: ', window.innerHeight);
console.log('document Element client hieght: ', document.documentElement.clientHeight);
console.log('document Element scroll hieght: ', document.documentElement.scrollHeight);
console.log('document Element offset height: ', document.documentElement.offsetHeight);
console.log('document element scrolltop: ', document.documentElement.scrollTop);
console.log('window page Y Offset: ', window.pageYOffset);
console.log('window document body offsetheight: ', window.document.body.offsetHeight);
রক্ষে! আশা করি এটি কাউকে সাহায্য করবে!
.bind(this)
কলব্যাক যুক্তি থেকে অপসারণ করতে পারেন যেহেতু এটি ইতিমধ্যে নির্মাণকারীর দ্বারা আবদ্ধ।