camera510PC7の栞

情報系学生のTips、ポエム、活動記録

【JavaScript】position:fixed要素をスクロールさせる

概要

通常、CSSのpositionでfixedを指定するとWindowの左上を基準とした絶対位置でスクロール固定されるがJavaScriptを用いるとスクロールできるようになる。

id="example"と指定した要素に対して処理をかける。

<事前準備>

window.onload=function(){
    var example = document.getElementById("example");
    
    window.addEventListener('scroll',_handleScroll,false);
}
--ポイント解説--

windowを読み込んだときにdocument.getElementByIdで要素取得。 window.addEventListenerでイベントを登録。

<横スクロールさせる>

window.addEventListener('scroll',_handleScroll,false);の下に入力

function _handleScroll(){
   example.style.left=-window.scrollX+ "px";
 }
--ポイント解説--

window.scrollXには横スクロール量が代入される。 つまりページが左にスクロールされているとき正の値となる。よって必ず最初にマイナスをつける。

また左50pxの位置からスクロールさせる場合

example.style.left=50-window.scrollX+ "px";

とする

<縦スクロールさせる>

window.addEventListener('scroll',_handleScroll,false);の下に入力

function _handleScroll(){
   example.style.top=-window.scrollY+ "px";
 }
--ポイント解説--

window.scrollYには縦スクロール量が代入される。 つまりページが下にスクロールされているとき正の値となる。よって必ず最初にマイナスをつける。

また上50pxの位置からスクロールさせる場合

example.style.top=50-window.scrollY+ "px";

とする