アイコンはfadeIn、fadeOutを使用し、アニメーションで何秒で戻るか指定します。
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>スクロール</title> <style> body { text-align: center; } </style> <link rel="stylesheet" href="styles.css"> </head> <body> <h1>スクロール</h1> <p>hello</p> <p>hello</p> <p>hello</p> <p>hello</p> <p>hello</p> <p>hello</p> <p>hello</p> <p>hello</p> <p>hello</p> <p>hello</p> <p>hello</p> <p>hello</p> <p>hello</p> <p>hello</p> <p>hello</p> <p>hello</p> <p>hello</p> <p>hello</p> <p>hello</p> <p>hello</p> <p>hello</p> <div id="back-to-top" style="position:fixed;right:5px; bottom:5px"><a href="#">↑</a></div> <div id="pos" style="position:fixed; left:5px; bottom:5px"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> <script> $(function(){ $('#back-to-top').hide(); $(window).scroll(function(){ $('#pos').text($(this).scrollTop()); if ($(this).scrollTop() > 60 ) { $('#back-to-top').fadeIn(); } else { $('#back-to-top').fadeOut(); } }); $('#back-to-top a').click(function(){ $('body').animate({ scrollTop:0 }, 500); return false; }); }); </script> </body> </html>