Adds the ability to scroll through a story by clicking on paragraphs (disables bookmark and text-to-speech)
当前为
// ==UserScript==
// @name FIMFiction - Clickable Read Flow
// @namespace Selbi
// @include http*://*fimfiction.net/story/*/*
// @include http*://*fimfiction.net/chapter/*
// @version 3.0
// @grant none
// @description Adds the ability to scroll through a story by clicking on paragraphs (disables bookmark and text-to-speech)
// ==/UserScript==
// Get elements
let chapterBody = document.getElementById("chapter-body");
let paragraphOptionsCloseButton = document.querySelector("#paragraph-options a:last-child");
// Install scroll event listener when clicking on paragraphs
const MARGIN_TOP = 20;
fQuery.addScopedEventListener(chapterBody, "p", "click", function() {
let targetTop = this.getBoundingClientRect().top + window.scrollY - MARGIN_TOP;
window.scrollTo({top: targetTop, behavior: "smooth"});
});
// Auto-close bookmark / text-to-speech box (comment this out if you wish to keep that functionality)
chapterBody.onclick = function() { paragraphOptionsCloseButton.click(); };
// Styling
function addGlobalStyle(css) {
let style = document.createElement('style');
style.type = 'text/css';
style.innerHTML = css;
document.getElementsByTagName('head')[0].appendChild(style);
}
addGlobalStyle(`
#chapter-body p:hover {
cursor: pointer;
transition: all 200ms ease;
color: white !important;
}
`);