MCPcopy Index your code
hub / github.com/XIU2/UserScript / pageNumber

Function pageNumber

Autopage.user.js:2804–2863  ·  view source on GitHub ↗
(type)

Source from the content-addressed store, hash-verified

2802
2803 // 显示页码
2804 function pageNumber(type) {
2805 if (curSite.SiteTypeID === 0 || curSite.hiddenPN || (curSite.pager && curSite.pager.type == 5 && self != top)) {if (getCSS('#Autopage_number') && getCSS('#Autopage_number').shadowRoot) {getCSS('#Autopage_number_button', getCSS('#Autopage_number').shadowRoot).style.display = 'none';}; return}
2806 let status
2807 if (getCSS('#Autopage_number') && getCSS('#Autopage_number').shadowRoot) {status = getCSS('#Autopage_number_button', getCSS('#Autopage_number').shadowRoot);}
2808 switch (type) {
2809 case 'add':
2810 add(); break;
2811 case 'del':
2812 del(); break;
2813 case 'set':
2814 set(); break;
2815 }
2816
2817 function add(){
2818 if (status) {
2819 if (status.style.display === 'none') {status.style.display = 'flex';}
2820 return
2821 }
2822 // 插入网页
2823 let _style = `<style>#Autopage_number_button {top: calc(75vh);left: 0;width: 32px;height: 32px;padding: 6px;display: flex;position: fixed;opacity: 0.3;transition: .2s;z-index: 9999998;cursor: pointer;user-select: none;flex-direction: column;align-items: center;justify-content: center;box-sizing: content-box;border-radius: 0 50% 50% 0;transform-origin: center;transform: translateX(-8px);background-color: #eee;-webkit-tap-highlight-color: transparent;box-shadow: 1px 1px 3px 0px #aaa;color: #000;font-size: medium;font-family: system-ui;} @media (any-hover: none) {#Autopage_number_button:active {opacity: 0.8;transform: translateX(0);}}@media (any-hover: hover) {#Autopage_number_button:hover {opacity: 0.8;transform: translateX(0);}}</style>`,
2824 _html = `<div id="Autopage_number_button" title="1. 此为【当前页码】(仅指脚本翻了多少页,并非实际页码,该页码可在脚本菜单中关闭)&#10;&#10;2. 鼠标【左键】点击此处可【临时暂停翻页】(再次点击可恢复)&#10;&#10;3. 鼠标【右键】点击此处可【回到顶部】">${pageNum._now}</div>`
2825
2826 document.documentElement.insertAdjacentHTML('beforeend', `<div id="Autopage_number" style="display: flex !important;position: fixed !important;z-index: 9999998 !important;"></div>`);
2827 let Autopage_number = getCSS('#Autopage_number'), shadowRoot = Autopage_number.attachShadow({ mode: 'open' }); // 创建一个 Shadow DOM 避免网页样式影响页码元素
2828 shadowRoot.innerHTML = _style + _html; // 插入元素
2829
2830 if (curSite.pager && curSite.pager.type == 5) window.top.document.xiu_pausePage = pausePage
2831 status = getCSS('#Autopage_number_button', shadowRoot);
2832 // 左键点击事件(临时暂停翻页)
2833 status.onclick = function(e) {
2834 if (pausePage) {this.style.color = '#FF5722'; this.style.fontStyle = 'italic';} else {this.style = '';}
2835 pausePage = !pausePage;
2836 if (curSite.pager && curSite.pager.type == 5) window.top.document.xiu_pausePage = pausePage
2837 e.preventDefault();
2838 e.stopPropagation();
2839 return false
2840 };
2841 // 右键点击事件(回到顶部)
2842 status.oncontextmenu = function(e) {
2843 window.scrollTo(0,0);
2844 e.preventDefault();
2845 e.stopPropagation();
2846 return false
2847 };
2848 set();
2849 }
2850 // 监听储存当前页码的对象值的变化
2851 function set(){
2852 Object.defineProperty(pageNum, 'now', {
2853 set: function(value) {
2854 this._now = value;
2855 if (status) status.textContent = value;
2856 }
2857 });
2858 }
2859 function del(){
2860 if (!status) return
2861 status.style.display = 'none';

Callers 3

getRulesUrl_Function · 0.85
Autopage.user.jsFile · 0.85
menu_switchFunction · 0.85

Calls 4

getCSSFunction · 0.85
setFunction · 0.85
addFunction · 0.70
delFunction · 0.70

Tested by

no test coverage detected