MCBBS Wiki欢迎您共同参与编辑!在参与编辑之前请先阅读Wiki方针。
如果在编辑的过程中遇到了什么问题,可以去讨论板提问。
为了您能够无阻碍地参与编辑 未验证/绑定过邮箱的用户,请尽快绑定/验证。
MCBBS Wiki GitHub群组已上线!
您可以在回声洞中发表吐槽!
服务器状态监控。点击进入
本站由MCBBS用户自行搭建,与MCBBS及东银河系漫游指南(北京)科技有限公司没有从属关系。点此了解 MCBBS Wiki 不是什么>>
Gadget:oouiup.js:修订间差异
跳到导航
跳到搜索
(// Edit via Wikiplus) |
(// Edit via Wikiplus) |
||
第4行: | 第4行: | ||
const innerWidth = window.innerWidth; |
const innerWidth = window.innerWidth; |
||
let scrollbarWidth; |
let scrollbarWidth; |
||
if($(".backToTop").length > 0) { // 已经加载了仿论坛版本 |
|||
return; |
|||
} |
|||
switch ( 'scroll' ) { |
switch ( 'scroll' ) { |
||
case getComputedStyle( body ).overflowY: |
case getComputedStyle( body ).overflowY: |
2023年7月30日 (日) 16:24的版本
$( function () {
const body = document.body,
html = document.documentElement;
const innerWidth = window.innerWidth;
let scrollbarWidth;
if($(".backToTop").length > 0) { // 已经加载了仿论坛版本
return;
}
switch ( 'scroll' ) {
case getComputedStyle( body ).overflowY:
scrollbarWidth = innerWidth - body.clientWidth;
break;
case getComputedStyle( html ).overflowY:
scrollbarWidth = innerWidth - html.clientWidth;
break;
default:
const backup = body.style.overflowY;
body.style.overflowY = 'scroll';
scrollbarWidth = innerWidth - body.clientWidth;
body.style.overflowY = backup;
}
const btnObj = new OO.ui.ButtonWidget( {
icon: 'collapse',
label: 'ABC',
title: 'TIT',
invisibleLabel: true,
classes: [ 'backToTop' ]
} );
btnObj.on( 'click', function () {
$( 'html, body' ).animate( {
scrollTop: 0
}, 120 );
}
);
const $btn = btnObj.$element;
$btn.appendTo( 'body' );
if ( scrollbarWidth === 0 ) {
$btn.css( 'right', '20px' );
}
window.onscroll = function () {
if ( document.scrollingElement.scrollTop > 0 ) {
$btn.fadeIn();
} else {
$btn.fadeOut();
}
};
} );