◆少前百科是非盈利性、非官方的少女前线维基百科。
◆如果您发现某些内容错误/空缺,请勇于修正/添加!参与进来其实很容易!点这里 加入少前百科
◆有任何意见、建议、纠错,欢迎在 GFwiki:反馈与建议 提出和讨论。编辑事务讨论QQ群:597764980,微博@GFwiki少前百科
◆To foreigners,You can use twitter to contact us.
Icon Nyto Silver.png

“MediaWiki:Vector.js”的版本间的差异

来自少前百科GFwiki
跳转至: 导航搜索
(尝试修复找不到#content的问题)
 
(未显示同一用户的2个中间版本)
第1行: 第1行:
 
/* 这里的任何JavaScript将为使用Vector皮肤的用户加载 */
 
/* 这里的任何JavaScript将为使用Vector皮肤的用户加载 */
  
/** GFHideSidebar ver1.1 **/
+
/* GFHideSidebar ver1.2 */
var buttonNode = document.createElement('div');buttonNode.id="SidebarButton";buttonNode.title="点击隐藏侧边栏";buttonNode.dataset.status="show";
 
document.querySelector("#content").appendChild(buttonNode);
 
if(getCookie("GFwikiHideSidebar")=="True"){document.querySelector("#SidebarButton").dataset.status="hide";document.body.classList.add("hide");document.querySelector("#SidebarButton").setAttribute('title', "点击显示侧边栏");window.timeout=setTimeout(function(){document.querySelector("#MenuSidebar").style.display="none"},200)}
 
window.timeout=setTimeout(function(){},0);
 
 
function switchGroup(){
 
function switchGroup(){
 
     var button = document.querySelector("#SidebarButton");
 
     var button = document.querySelector("#SidebarButton");
第16行: 第12行:
 
         }
 
         }
 
}
 
}
document.querySelector("#SidebarButton").addEventListener("click",function(){switchGroup()})
+
 
 
function setCookie(cname,cvalue,exdays){
 
function setCookie(cname,cvalue,exdays){
 
     var d = new Date();
 
     var d = new Date();
第34行: 第30行:
 
}
 
}
  
mw.hook( 'wikipage.content' ).add( function ( $content ) {
+
function makeMenuSidebarCollapsible( $contentText ) {
 +
if ( !$contentText.is( '#mw-content-text' ) ) {
 +
return;
 +
}
 +
var sidebarButton = document.createElement( 'div' );
 +
sidebarButton.id = 'SidebarButton';
 +
sidebarButton.title = '点击隐藏侧边栏';
 +
sidebarButton.dataset.status = 'show';
 +
const $content = $contentText.closest( '#content' );
 +
$content.append( sidebarButton );
 +
if ( getCookie( 'GFwikiHideSidebar' ) == 'True' ) {
 +
sidebarButton.dataset.status = 'hide';
 +
document.body.classList.add( 'hide' );
 +
sidebarButton.title = '点击显示侧边栏';
 +
window.timeout = setTimeout( function () {
 +
$content.next().children( '#mw-panel' ).children( '#MenuSidebar' )
 +
.css( 'display', 'none' );
 +
}, 200 );
 +
}
 +
window.timeout = setTimeout( function () {}, 0 );
 +
sidebarButton.addEventListener( 'click', switchGroup );
 +
}
 +
/* GFHideSidebar ver1.2 End */
 +
 
 +
function moveTOC( $content ) {
 
if ( $content.is( '#mw-content-text' ) ) {
 
if ( $content.is( '#mw-content-text' ) ) {
 
const $toc = $content.find( '#toc' );
 
const $toc = $content.find( '#toc' );
 
if ( $toc.length ) {
 
if ( $toc.length ) {
var tocClone = $toc.clone();
+
var $tocClone = $toc.clone();
$( '.toctoggle', tocClone ).remove();
+
$tocClone.children( 'ul' ).prepend(
 +
'<li class="toclevel-0">' + mw.config.get( 'wgTitle' ) + '</li>'
 +
);
 +
$( '.toctoggle', $tocClone ).remove();
 
$content.parent().after( '<div id="toc-sidebar"></div>' );
 
$content.parent().after( '<div id="toc-sidebar"></div>' );
 
$toc.remove();
 
$toc.remove();
$content.parent().next().append( tocClone );
+
$content.parent().next().append( $tocClone );
 
} else {
 
} else {
 
$content.closest( '#content' ).addClass( 'notoc' );
 
$content.closest( '#content' ).addClass( 'notoc' );
 
}
 
}
 
}
 
}
} );
+
}
 +
 
 +
mw.hook( 'wikipage.content' )
 +
.add( makeMenuSidebarCollapsible )
 +
.add( moveTOC );

2024年5月31日 (五) 17:46的最新版本

/* 这里的任何JavaScript将为使用Vector皮肤的用户加载 */

/* GFHideSidebar ver1.2 */
function switchGroup(){
    	var button = document.querySelector("#SidebarButton");
        if(button.dataset.status == "hide"){
            button.dataset.status="show";document.querySelector("#MenuSidebar").style.display="";setTimeout(function(){document.body.classList.remove("hide")},1);button.setAttribute('title', "点击隐藏侧边栏");document.querySelector("#MenuSidebar").style.display="";clearTimeout(window.timeout);
            setCookie("GFwikiHideSidebar", "False", 1);
        } else {
            button.dataset.status="hide";document.body.classList.add("hide");button.setAttribute('title', "点击显示侧边栏");window.timeout=setTimeout(function(){document.querySelector("#MenuSidebar").style.display="none"},200);
            setCookie("GFwikiHideSidebar", "True", 1);
        }
}

function setCookie(cname,cvalue,exdays){
    var d = new Date();
    d.setTime(d.getTime()+(exdays*24*60*60*1000));
    var expires = "expires="+d.toGMTString();
    document.cookie = cname+"="+cvalue+"; "+expires;
}

function getCookie(cname){
    var name = cname + "=";
    var ca = document.cookie.split(';');
    for(var i=0; i<ca.length; i++) {
        var c = ca[i].trim();
        if (c.indexOf(name)==0) { return c.substring(name.length,c.length); }
    }
    return "";
}

function makeMenuSidebarCollapsible( $contentText ) {
	if ( !$contentText.is( '#mw-content-text' ) ) {
		return;
	}
	var sidebarButton = document.createElement( 'div' );
	sidebarButton.id = 'SidebarButton';
	sidebarButton.title = '点击隐藏侧边栏';
	sidebarButton.dataset.status = 'show';
	const $content = $contentText.closest( '#content' );
	$content.append( sidebarButton );
	if ( getCookie( 'GFwikiHideSidebar' ) == 'True' ) {
		sidebarButton.dataset.status = 'hide';
		document.body.classList.add( 'hide' );
		sidebarButton.title = '点击显示侧边栏';
		window.timeout = setTimeout( function () {
			$content.next().children( '#mw-panel' ).children( '#MenuSidebar' )
				.css( 'display', 'none' );
		}, 200 );
	}
	window.timeout = setTimeout( function () {}, 0 );
	sidebarButton.addEventListener( 'click', switchGroup );
}
/* GFHideSidebar ver1.2 End */

function moveTOC( $content ) {
	if ( $content.is( '#mw-content-text' ) ) {
		const $toc = $content.find( '#toc' );
		if ( $toc.length ) {
			var $tocClone = $toc.clone();
			$tocClone.children( 'ul' ).prepend(
				'<li class="toclevel-0">' + mw.config.get( 'wgTitle' ) + '</li>'
			);
			$( '.toctoggle', $tocClone ).remove();
			$content.parent().after( '<div id="toc-sidebar"></div>' );
			$toc.remove();
			$content.parent().next().append( $tocClone );
		} else {
			$content.closest( '#content' ).addClass( 'notoc' );
		}
	}
}

mw.hook( 'wikipage.content' )
	.add( makeMenuSidebarCollapsible )
	.add( moveTOC );