← All examples

JavaScript Productivity substack.com

Substack: scroll-to-top button

Adds a floating button that appears after scrolling and jumps to the top of the post in one click.

Code to copy

// Floating scroll-to-top button on long posts
(function () {
  if (document.getElementById('jz-sub-top')) { return; }
  var btn = document.createElement('button');
  btn.id = 'jz-sub-top';
  btn.type = 'button';
  btn.textContent = '↑';
  btn.title = 'Scroll to top';
  btn.style.cssText = 'position:fixed;right:18px;bottom:60px;width:40px;height:40px;border-radius:50%;border:none;background:#ff6719;color:#fff;font:700 18px/1 system-ui,sans-serif;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.25);opacity:0;transition:opacity .2s;z-index:99998;';
  btn.addEventListener('click', function () { window.scrollTo({ top: 0, behavior: 'smooth' }); });
  document.body.appendChild(btn);
  function toggle() {
    btn.style.opacity = window.scrollY > 600 ? '1' : '0';
    btn.style.pointerEvents = window.scrollY > 600 ? 'auto' : 'none';
  }
  toggle();
  window.addEventListener('scroll', toggle, { passive: true });
})();

How to use this example

  1. Copy the code with the button above.
  2. Install JustZix (2 minutes) and open the extension on the target page.
  3. Add a new rule matching that page.
  4. Paste the code into the rule's JavaScript panel and save — it runs on every page visit.

Rate this example

No ratings yet — be the first.

Does this example work?

Snippets are useless without somewhere to paste them.

JustZix takes 2 minutes to install and runs your code on every matching page. No account, no payment.

Download free See use cases