MediaWiki:Common.js/DynamicNavigationBars.js

出典: へっぽこ実験ウィキ『八百科事典(アンサイクロペディア)』
ナビゲーションに移動 検索に移動

注意: 保存後、変更を確認するにはブラウザーのキャッシュを消去する必要がある場合があります。

  • Firefox / Safari: Shift を押しながら 再読み込み をクリックするか、Ctrl-F5 または Ctrl-R を押してください (Mac では ⌘-R)
  • Google Chrome: Ctrl-Shift-R を押してください (Mac では ⌘-Shift-R)
  • Internet Explorer / Microsoft Edge: Ctrl を押しながら 最新の情報に更新 をクリックするか、Ctrl-F5 を押してください
  • Opera: Ctrl-F5を押してください
 // ============================================================ 
 // BEGIN Dynamic Navigation Bars (experimantal)
 // 元はドイツ語版ウィキペディアらしい
 /* アンサイクロペディアでの管理人: {{User|えふ氏}} */
 
 mw.loader.using( [ 'mediawiki.util' ], function() { $(function() { 
 // set up the words in your language
 var NavigationBarHide = '隠す';
 var NavigationBarShow = '表示';
 var showDefaultCount = 1;
 var NODE_TYPE_ELEMENT_NODE = 1;
 
 // shows and hides content and picture (if available) of navigation bars
 // Parameters:
 // indexNavigationBar: the index of navigation bar to be toggled
 
 function toggleNavigationBar(indexNavigationBar){
 var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
 var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
 
 if(!NavFrame || !NavToggle) return false;
 var display, toggleText;
 
 switch(NavToggle.firstChild.data){
 case NavigationBarHide :
 display = 'none';
 toggleText = NavigationBarShow;
 break;
 case NavigationBarShow :
 display = 'block';
 toggleText = NavigationBarHide;
 break;
 default :
 return false;
 }
 
 for(var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling){
 if( NavChild.classList && (NavChild.classList.contains( 'NavContent' ) || NavChild.classList.contains( 'NavPic' ) ) ){
 NavChild.style.display = display;
 }
 }
 NavToggle.firstChild.data = toggleText;
 }
 
 function toggleNavigationBarFunction( indexNavigationBar ){
 return function(){
 toggleNavigationBar(indexNavigationBar);
 return false;
 };
 }
 // adds show/hide-button to navigation bars
 var indexNavigationBar = 0;
 // iterate over all NavFrames
 var NavFrames = mw.util.$content.find( 'div.NavFrame' ).toArray();
 var initiallyToggle = showDefaultCount < NavFrames.length && mw.config.get( 'wgNamespaceNumber' ) !== 10;
 for(var i = 0; i < NavFrames.length; i++){
 var NavFrame = NavFrames[i];
 // if found a navigation bar
 var NavToggle = document.createElement("span");
 var NavToggleLink = document.createElement("a");
 var NavToggleText = document.createTextNode(NavigationBarHide);
 
 NavToggleLink.setAttribute('id', 'NavToggle' + indexNavigationBar);
 NavToggleLink.setAttribute('href', '#');
 NavToggleLink.onclick = toggleNavigationBarFunction(indexNavigationBar);
 NavToggleLink.appendChild(NavToggleText);
 
 NavToggle.className = 'NavToggle';
 NavToggle.appendChild( document.createTextNode( "[" ) );
 NavToggle.appendChild( NavToggleLink );
 NavToggle.appendChild( document.createTextNode( "]" ) );
 
 for(var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling){
 if(NavChild.classList && NavChild.classList.contains( "NavHead" )){
 NavChild.appendChild(NavToggle);
 break;
 }
 }
 NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
 if (initiallyToggle || !( NavFrame.classList.contains( "showDefault" ) ) ) {
 toggleNavigationBar(indexNavigationBar);
 }
 indexNavigationBar++;
 }
 })});
 
 // END Dynamic Navigation Bars
 // ============================================================
https://ansaikuropedia.org/index.php?title=MediaWiki:Common.js/DynamicNavigationBars.js&oldid=1754095」から取得