【ピット回避指「難」】scrollTopスクロールバーは各ブラウザに対応


すべての主流ブラウザでは、pageXOffsetおよびpageYOffsetのプロパティがサポートされています.
IE 8以降のIEバージョンではこの属性はサポートされていないが、document.documentElement.scrollLeftおよびdocument.documentElement.scrollTopの属性を使用することができる.
let scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop;
let oldTop = 0;

useEffect(() => {
     
		if (haveScrollEvent !== false)
			window.addEventListener("scroll", scroll);
	}, [])
	
	useEffect(() => {
     
		return () => {
     
			if (haveScrollEvent !== false)
				window.removeEventListener("scroll", scroll);
		}
	}, [])

const scroll = e => {
     
		let scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop;
		if (scrollTop >= 420 && oldTop < 420) {
     
			setBgColor('#202124');
		} else if (scrollTop < 420) {
     
			let state = {
     };
			if (oldTop >= 420)
				state = {
     
					bgColor: 'rgba(32,33,36,' + scrollTop / 420 + ')',
				};
			else
				state = {
     
					bgColor: 'rgba(32,33,36,' + scrollTop / 420 + ')',
				};
			setBgColor(state.bgColor);
		}
		oldTop = scrollTop;
	};