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 // ============================================================