← All examples

JavaScript Productivity

Custom keyboard shortcuts for scrolling

Alt+arrows scroll the page by one screen and Alt+End jumps smoothly to the bottom.

Code to copy

document.addEventListener('keydown', function (e) {
  var tag = (e.target.tagName || '').toLowerCase();
  if (tag === 'input' || tag === 'textarea' || e.target.isContentEditable) return;
  if (!e.altKey || e.ctrlKey || e.metaKey) return;
  var step = Math.round(window.innerHeight * 0.9);
  if (e.key === 'ArrowDown') {
    e.preventDefault();
    window.scrollBy({ top: step, behavior: 'smooth' });
  } else if (e.key === 'ArrowUp') {
    e.preventDefault();
    window.scrollBy({ top: -step, behavior: 'smooth' });
  } else if (e.key === 'End') {
    e.preventDefault();
    window.scrollTo({ top: document.body.scrollHeight, behavior: 'smooth' });
  }
});

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