User:痛/searchBarMove.js
外观
< User:痛
注意:保存之后,你必须清除浏览器缓存才能看到做出的更改。Google Chrome、Firefox、Microsoft Edge及Safari:按住⇧ Shift键并单击工具栏的“刷新”按钮。参阅Help:绕过浏览器缓存以获取更多帮助。
/*
* 本魔改能:
* 启用darkNav.css
* 将导航栏挪到标题栏里面
* 为上方标题栏增加“项目页”、“讨论”标签
* 使用方法:
* importScript( 'User:痛/searchBarMove.js' );
*/
importStylesheet( 'User:痛/darkNav.css' );
importStylesheet( 'User:痛/searchBarMove.css' );
$(function() {
// 换成左上角一个小小的“维”字
var lang = mw.config.get('wgUserLanguage');
if(lang == 'zh-cn'||
lang == 'zh-sg'||
lang == 'zh-hans'){
// 简体界面
$('#p-personal').append('<a href="https://wikicn.playgoteam.workers.dev/wiki/Wikipedia:%E9%A6%96%E9%A1%B5" id="ranD-logo">维</a>');
} else {
// 繁体界面
$('#p-personal').append('<a href="https://wikicn.playgoteam.workers.dev/wiki/Wikipedia:%E9%A6%96%E9%A1%B5" id="ranD-logo">維</a>');
}
// 移动搜索栏
$('#p-search').detach().appendTo('#p-personal');
$('#searchInput').focus(function(){$('#simpleSearch').addClass('ontyping');});
$('#searchInput').focusout(function(){
if (!$(this).val()){
$('#simpleSearch').removeClass('ontyping');
}
});
// 加入各个名字空间的标签,就是普通页面左上角的那俩
// 没有移动原始的名字空间标签,而是直接在导航栏上自己新弄了两个按钮
var leftFirst = $('#p-namespaces ul li:first span a');
$('#p-personal').append('<div id="ranD-nav"></div>');
$('#ranD-nav').append('<div id="ranD-left-navigation"></div>');
$('#ranD-left-navigation').append('<a id="ranD-page" class="ranD-topNav">'+ leftFirst.text() + '</a>');
// 将原标签的链接复制到我自己弄的那俩上
$('#ranD-left-navigation a:first').attr('href', leftFirst.attr('href'));
// 为当前选中的页面增加selected的class
if ($('#p-namespaces ul li:first').hasClass('selected')) {
$('#ranD-left-navigation a:first').addClass('selected');
}
// 如果不是special页面,那么在标签栏加入讨论页标签,并重复之前的处理
if ($('#p-namespaces ul li').length>1) {
var leftSecond = $('#p-namespaces ul li:nth-child(2) span a');
$('#ranD-left-navigation').append('<a id="ranD-talk" class="ranD-topNav">'+ leftSecond.text() + '</a>');
$('#ranD-left-navigation a:nth-child(2)').attr('href', leftSecond.attr('href'));
if ($('#p-namespaces ul li:nth-child(2)').hasClass('selected')) {
$('#ranD-nav a:nth-child(2)').addClass('selected');
}
// 阅、编、史 也只在非special页面才有吧
$('#ranD-nav').append('<div id="ranD-right-navigation"></div>');
var rightNavs = $('#p-views ul li');
// 加入右上角除了“监视”之外的其他几个按钮,所以length-1
for(i=0; i<rightNavs.length-1; i++) {
// 不显示wikilove
if ($(rightNavs[i]).attr("id") != "ca-wikilove"){
$('#ranD-right-navigation').append('<a>' + $(rightNavs[i]).text() + '</a>');
$($('#ranD-right-navigation a')[i]).attr('href', $($('#p-views ul li span a')[i]).attr('href'));
// 然后加入selected class
if ($(rightNavs[i]).hasClass('selected')){
$($('#ranD-right-navigation a')[i]).addClass('selected');
}
}
}
}
// 跳转到页面的某一章节时(通过形如[[xx#xx]]跳转时)不显示上面的工具栏
if ($('html').scrollTop() >= 20) {
$('#p-personal').addClass('ranD-hide');
}
// 下滑把导航栏藏起来,上滑再放回原位。
$(window).on('wheel',function(e) {
var delta = e.originalEvent.deltaY;
if (delta > 2) {
// scrolling down
$('#p-personal').addClass('ranD-hide');
} else if (delta < -1 || $('html').scrollTop() < 20) {
// scrolling up, or at the very top
$('#p-personal').removeClass('ranD-hide');
}
});
});