(type)
| 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. 此为【当前页码】(仅指脚本翻了多少页,并非实际页码,该页码可在脚本菜单中关闭) 2. 鼠标【左键】点击此处可【临时暂停翻页】(再次点击可恢复) 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'; |
no test coverage detected