$(document).ready(function(){ $("#link-pagetop").hide(); $(window).on("scroll", function() { if ($(this).scrollTop() > 100) { $("#link-pagetop").fadeIn("fast"); } else { $("#link-pagetop").fadeOut("fast"); } scrollHeight = $(document).height(); //ドキュメントの高さ scrollPosition = $(window).height() + $(window).scrollTop(); //現在地 footHeight = $("#footer-site").innerHeight(); //footerの高さ(=止めたい位置) if ( scrollHeight - scrollPosition <= footHeight ) { //ドキュメントの高さと現在地の差がfooterの高さ以下になったら $("#link-pagetop").css({ "position":"fixed", //pisitionをabsolute(親:wrapperからの絶対値)に変更 "bottom": "0px" //下からfooterの高さ + 20px上げた位置に配置 }); } else { //それ以外の場合は $("#link-pagetop").css({ "position":"fixed", //固定表示 "bottom": "0px" //下から20px上げた位置に }); } }); $('#link-pagetop').click(function () { $('body,html').animate({ scrollTop: 0 }, 400); return false; }); });