跳转到内容
主菜单
主菜单
移至侧栏
隐藏
导航
首页
最近更改
随机页面
MediaWiki帮助
中医百科
搜索
搜索
登录
个人工具
登录
深色模式
查看“MediaWiki:Gadget-ScrollUpButton.js”的源代码
系统消息
讨论
English
阅读
查看源代码
查看历史
工具
工具
移至侧栏
隐藏
操作
阅读
查看源代码
查看历史
清除缓存
常规
链入页面
相关更改
特殊页面
页面信息
页面值
←
MediaWiki:Gadget-ScrollUpButton.js
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
此页面为本wiki上的软件提供界面文本,并受到保护以防止滥用。 如欲修改所有wiki的翻译,请访问
translatewiki.net
上的MediaWiki本地化项目。
您无权编辑此JavaScript页面,因为编辑此页面可能会影响所有访问者。
您必须确认您的电子邮件地址才能编辑页面。请通过
参数设置
设置并确认您的电子邮件地址。
您可以查看和复制此页面的源代码。
/** * Copyright (c) 2021-present, 安忆. * * @author 安忆 [[zh:U:安忆]] * @file scrollUpButton.js * @license GPL v3 */ $(function scrollUpButton() { var $window = $(window); var scrollButtonIcon = '//zybkcn.com/images/f/f0/Scroll-button.svg'; if (!document.implementation.hasFeature('http://www.w3.org/TR/SVG11/feature#Image', '1.1')) { scrollButtonIcon = '//zybkcn.com/images/thumb/f/f0/Scroll-button.svg/32px-Scroll-button.svg.png'; } var changeOpacity = function changeOpacity(event) { event.currentTarget.style.opacity = event.type === 'mouseenter' ? '1' : '0.7'; }; var scrollTop = function scrollTop(height) { $('html, body').animate({ scrollTop: height }, 660); }; var $scrollButton = $('<img>').addClass('noprint').attr({ draggable: 'false', src: scrollButtonIcon }).css({ display: 'none', position: 'fixed', right: '18px', cursor: 'pointer', opacity: '0.7', '-moz-user-select': 'none', '-webkit-user-select': 'none', 'user-select': 'none' }); var $scrollDownButton = $scrollButton.clone().attr('id', 'scrollDownButton-zhwiki').css('transform', 'rotate(180deg)').on('click', function () { scrollTop(($(document).height() || 0) - ($window.height() || 0)); }); var $scrollUpButton = $scrollButton.clone().attr('id', 'scrollUpButton-zhwiki').on('click', function () { scrollTop(0); }); var $elements = [$scrollDownButton, $scrollUpButton]; $elements.forEach(function ($element) { $element.on('mouseenter mouseleave', changeOpacity).appendTo(document.body); }); var fadeIn = function fadeIn() { $elements.forEach(function ($element) { $element.fadeIn('slow'); }); }; var fadeOut = function fadeOut() { $elements.forEach(function ($element) { $element.fadeOut('slow'); }); }; var left = function left(px) { $elements.forEach(function ($element) { $element.css('left', px ? px + 'px' : 'unset'); }); }; var right = function right(px) { $elements.forEach(function ($element) { $element.css('right', px ? px + 'px' : 'unset'); }); }; var mediaQueryList = window.matchMedia('(min-width: 1400px)'); var isVector2022Match = false; if (mw.config.get('skin') === 'vector-2022') { var mediaQueryHandler = function mediaQueryHandler(event) { if (event.matches) { isVector2022Match = true; right(8); } else { isVector2022Match = false; right(18); } }; // Check mediaQueryList as Safari doesn't have support for mediaQueryList.addEventListener try { mediaQueryList.addEventListener('change', mediaQueryHandler); } catch (e) { mediaQueryList.addListener(mediaQueryHandler); } if (mediaQueryList.matches) { isVector2022Match = true; right(8); } } var scrollButtonTimer; $window.on('scroll selectionchange', function () { var dingHeight = $('#bluedeck_ding>div').height() || 0; var vector2022Height = isVector2022Match ? 24 : 0; $scrollDownButton.css('bottom', dingHeight + vector2022Height + 24 + 'px'); $scrollUpButton.css('bottom', dingHeight + vector2022Height + 65 + 'px'); if (mw.config.get('wgGEHelpPanelEnabled') && $('#mw-ge-help-panel-cta-button').length || $('#cat_a_lot').length || $('#proveit').length || $('.wordcount').length) { left(10); } else { left(); } var windowScrollTop = $window.scrollTop() || 0; if (windowScrollTop > 60) { fadeIn(); } else { fadeOut(); } clearTimeout(scrollButtonTimer); scrollButtonTimer = setTimeout(fadeOut, 2000); }); $elements.forEach(function ($element) { $element.on('mouseenter', function () { clearTimeout(scrollButtonTimer); }); }); });
该页面使用的模板:
Template:Gadget Header
(
查看源代码
)
返回
MediaWiki:Gadget-ScrollUpButton.js
。
开关有限宽度模式