Adds a button that scroll to quickly and smoothly navigate to the next top-level comment. This scroller saves time by allowing you to skip comment threads you're not interested in. An alternative to collapsing the thread.
当前为
// ==UserScript==
// @name Hackernews Scroll to Next Top-Level Comment
// @namespace https://news.ycombinator.com/
// @version 0.1
// @description Adds a button that scroll to quickly and smoothly navigate to the next top-level comment. This scroller saves time by allowing you to skip comment threads you're not interested in. An alternative to collapsing the thread.
// @author Jonathan Woolf
// @match https://news.ycombinator.com/*
// @grant none
// ==/UserScript==
(function() {
'use strict';
const button = document.createElement('button');
button.textContent = '⬇️';
button.style.cssText = `
position: fixed;
bottom: 10px;
left: 10px;
z-index: 999;
background-color: rgb(255, 198, 156);
color: #fff;
border: 6px solid rgb(255, 102, 0);
background-color: rgb(255, 198, 156);
border-radius: 50%;
width: 40px;
height: 40px;
font-size: 24px;
text-align: center;
line-height: 40px;
cursor: pointer;
display: flex;
justify-content: center;
align-items: center;
font-size: 91%;
`;
document.body.appendChild(button);
const comments = [...document.querySelectorAll('td.ind[indent="0"]')];
let currentCommentIndex = 0;
button.addEventListener('click', () => {
if (currentCommentIndex === comments.length - 1) {
currentCommentIndex = 0;
} else {
currentCommentIndex++;
}
comments[currentCommentIndex].closest('tr').scrollIntoView({ behavior: 'smooth', block: 'start' });
});
})();