User:燃灯/searchBarMove.js
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Press Ctrl-F5.
/*
* 本魔改能:
* 启用darkNav.css
* 将导航栏挪到标题栏里面
* 为上方标题栏增加“项目页”、“讨论”标签
*/
console.log('importing searchbarmove');
$(function() {
// 移动搜索栏
$('#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');
}
});
});