<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://gitlab.srns.ru/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>https://gitlab.srns.ru/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3ADynavbar.js</id>
		<title>MediaWiki:Dynavbar.js - История изменений</title>
		<link rel="self" type="application/atom+xml" href="https://gitlab.srns.ru/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3ADynavbar.js"/>
		<link rel="alternate" type="text/html" href="https://gitlab.srns.ru/index.php?title=MediaWiki:Dynavbar.js&amp;action=history"/>
		<updated>2026-04-07T05:48:19Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.20.3</generator>

	<entry>
		<id>https://gitlab.srns.ru/index.php?title=MediaWiki:Dynavbar.js&amp;diff=309&amp;oldid=prev</id>
		<title>Admin: Новая страница: «// &lt;pre&gt; ============================================================ // BEGIN Dynamic Navigation Bars (experimental) // This script is from Wikipedia. For author at...»</title>
		<link rel="alternate" type="text/html" href="https://gitlab.srns.ru/index.php?title=MediaWiki:Dynavbar.js&amp;diff=309&amp;oldid=prev"/>
				<updated>2011-04-08T17:34:42Z</updated>
		
		<summary type="html">&lt;p&gt;Новая страница: «// &amp;lt;pre&amp;gt; ============================================================ // BEGIN Dynamic Navigation Bars (experimental) // This script is from Wikipedia. For author at...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;// &amp;lt;pre&amp;gt; ============================================================&lt;br /&gt;
// BEGIN Dynamic Navigation Bars (experimental)&lt;br /&gt;
// This script is from Wikipedia. For author attribution, please see http://en.wikipedia.org/w/index.php?title=MediaWiki:Common.js&amp;amp;action=history&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* Test if an element has a certain class **************************************&lt;br /&gt;
 *&lt;br /&gt;
 * Description: Uses regular expressions and caching for better performance.&lt;br /&gt;
 * Maintainers: User:Mike Dillon, User:R. Koot, User:SG&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
var hasClass = (function () {&lt;br /&gt;
    var reCache = {};&lt;br /&gt;
    return function (element, className) {&lt;br /&gt;
        return (reCache[className] ? reCache[className] : (reCache[className] = new RegExp(&amp;quot;(?:\\s|^)&amp;quot; + className + &amp;quot;(?:\\s|$)&amp;quot;))).test(element.className);&lt;br /&gt;
    };&lt;br /&gt;
})();&lt;br /&gt;
&lt;br /&gt;
 /** Collapsible tables *********************************************************&lt;br /&gt;
  *&lt;br /&gt;
  *  Description: Allows tables to be collapsed, showing only the header. See&lt;br /&gt;
  *               [[Wikipedia:NavFrame]].&lt;br /&gt;
  *  Maintainers: [[User:R. Koot]]&lt;br /&gt;
  */&lt;br /&gt;
 &lt;br /&gt;
 var autoCollapse = 2;&lt;br /&gt;
 var collapseCaption = &amp;quot;скрыть&amp;quot;;&lt;br /&gt;
 var expandCaption = &amp;quot;показать&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 function collapseTable( tableIndex )&lt;br /&gt;
 {&lt;br /&gt;
     var Button = document.getElementById( &amp;quot;collapseButton&amp;quot; + tableIndex );&lt;br /&gt;
     var Table = document.getElementById( &amp;quot;collapsibleTable&amp;quot; + tableIndex );&lt;br /&gt;
 &lt;br /&gt;
     if ( !Table || !Button ) {&lt;br /&gt;
         return false;&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     var Rows = Table.getElementsByTagName( &amp;quot;tr&amp;quot; ); &lt;br /&gt;
 &lt;br /&gt;
     if ( Button.firstChild.data == collapseCaption ) {&lt;br /&gt;
         for ( var i = 1; i &amp;lt; Rows.length; i++ ) {&lt;br /&gt;
             Rows[i].style.display = &amp;quot;none&amp;quot;;&lt;br /&gt;
         }&lt;br /&gt;
         Button.firstChild.data = expandCaption;&lt;br /&gt;
     } else {&lt;br /&gt;
         for ( var i = 1; i &amp;lt; Rows.length; i++ ) {&lt;br /&gt;
             Rows[i].style.display = Rows[0].style.display;&lt;br /&gt;
         }&lt;br /&gt;
         Button.firstChild.data = collapseCaption;&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 function createCollapseButtons()&lt;br /&gt;
 {&lt;br /&gt;
     var tableIndex = 0;&lt;br /&gt;
     var NavigationBoxes = new Object();&lt;br /&gt;
     var Tables = document.getElementsByTagName( &amp;quot;table&amp;quot; );&lt;br /&gt;
 &lt;br /&gt;
     for ( var i = 0; i &amp;lt; Tables.length; i++ ) {&lt;br /&gt;
         if ( hasClass( Tables[i], &amp;quot;collapsible&amp;quot; ) ) {&lt;br /&gt;
             NavigationBoxes[ tableIndex ] = Tables[i];&lt;br /&gt;
             Tables[i].setAttribute( &amp;quot;id&amp;quot;, &amp;quot;collapsibleTable&amp;quot; + tableIndex );&lt;br /&gt;
 &lt;br /&gt;
             var Button     = document.createElement( &amp;quot;span&amp;quot; );&lt;br /&gt;
             var ButtonLink = document.createElement( &amp;quot;a&amp;quot; );&lt;br /&gt;
             var ButtonText = document.createTextNode( collapseCaption );&lt;br /&gt;
 &lt;br /&gt;
             Button.style.styleFloat = &amp;quot;right&amp;quot;;&lt;br /&gt;
             Button.style.cssFloat = &amp;quot;right&amp;quot;;&lt;br /&gt;
             Button.style.fontWeight = &amp;quot;normal&amp;quot;;&lt;br /&gt;
             Button.style.textAlign = &amp;quot;right&amp;quot;;&lt;br /&gt;
             Button.style.width = &amp;quot;6em&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
             ButtonLink.setAttribute( &amp;quot;id&amp;quot;, &amp;quot;collapseButton&amp;quot; + tableIndex );&lt;br /&gt;
             ButtonLink.setAttribute( &amp;quot;href&amp;quot;, &amp;quot;javascript:collapseTable(&amp;quot; + tableIndex + &amp;quot;);&amp;quot; );&lt;br /&gt;
             ButtonLink.appendChild( ButtonText );&lt;br /&gt;
 &lt;br /&gt;
             Button.appendChild( document.createTextNode( &amp;quot;[&amp;quot; ) );&lt;br /&gt;
             Button.appendChild( ButtonLink );&lt;br /&gt;
             Button.appendChild( document.createTextNode( &amp;quot;]&amp;quot; ) );&lt;br /&gt;
 &lt;br /&gt;
             var Header = Tables[i].getElementsByTagName( &amp;quot;tr&amp;quot; )[0].getElementsByTagName( &amp;quot;th&amp;quot; )[0];&lt;br /&gt;
             /* only add button and increment count if there is a header row to work with */&lt;br /&gt;
             if (Header) {&lt;br /&gt;
                 Header.insertBefore( Button, Header.childNodes[0] );&lt;br /&gt;
                 tableIndex++;&lt;br /&gt;
             }&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     for ( var i = 0;  i &amp;lt; tableIndex; i++ ) {&lt;br /&gt;
         if ( hasClass( NavigationBoxes[i], &amp;quot;collapsed&amp;quot; ) || ( tableIndex &amp;gt;= autoCollapse &amp;amp;&amp;amp; hasClass( NavigationBoxes[i], &amp;quot;autocollapse&amp;quot; ) ) ) {&lt;br /&gt;
             collapseTable( i );&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
 addOnloadHook( createCollapseButtons );&lt;br /&gt;
&lt;br /&gt;
 /** Dynamic Navigation Bars (experimental) *************************************&lt;br /&gt;
  *&lt;br /&gt;
  *  Description: See [[Wikipedia:NavFrame]].&lt;br /&gt;
  *  Maintainers: UNMAINTAINED&lt;br /&gt;
  */&lt;br /&gt;
 &lt;br /&gt;
  // set up the words in your language&lt;br /&gt;
  var NavigationBarHide = '[' + collapseCaption + ']';&lt;br /&gt;
  var NavigationBarShow = '[' + expandCaption + ']';&lt;br /&gt;
  &lt;br /&gt;
  // set up max count of Navigation Bars on page,&lt;br /&gt;
  // if there are more, all will be hidden&lt;br /&gt;
  // NavigationBarShowDefault = 0; // all bars will be hidden&lt;br /&gt;
  // NavigationBarShowDefault = 1; // on pages with more than 1 bar all bars will be hidden&lt;br /&gt;
  var NavigationBarShowDefault = autoCollapse;&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  // shows and hides content and picture (if available) of navigation bars&lt;br /&gt;
  // Parameters:&lt;br /&gt;
  //     indexNavigationBar: the index of navigation bar to be toggled&lt;br /&gt;
  function toggleNavigationBar(indexNavigationBar)&lt;br /&gt;
  {&lt;br /&gt;
     var NavToggle = document.getElementById(&amp;quot;NavToggle&amp;quot; + indexNavigationBar);&lt;br /&gt;
     var NavFrame = document.getElementById(&amp;quot;NavFrame&amp;quot; + indexNavigationBar);&lt;br /&gt;
  &lt;br /&gt;
     if (!NavFrame || !NavToggle) {&lt;br /&gt;
         return false;&lt;br /&gt;
     }&lt;br /&gt;
  &lt;br /&gt;
     // if shown now&lt;br /&gt;
     if (NavToggle.firstChild.data == NavigationBarHide) {&lt;br /&gt;
         for (&lt;br /&gt;
                 var NavChild = NavFrame.firstChild;&lt;br /&gt;
                 NavChild != null;&lt;br /&gt;
                 NavChild = NavChild.nextSibling&lt;br /&gt;
             ) {&lt;br /&gt;
             if ( hasClass( NavChild, 'NavPic' ) ) {&lt;br /&gt;
                 NavChild.style.display = 'none';&lt;br /&gt;
             }&lt;br /&gt;
             if ( hasClass( NavChild, 'NavContent') ) {&lt;br /&gt;
                 NavChild.style.display = 'none';&lt;br /&gt;
             }&lt;br /&gt;
         }&lt;br /&gt;
     NavToggle.firstChild.data = NavigationBarShow;&lt;br /&gt;
  &lt;br /&gt;
     // if hidden now&lt;br /&gt;
     } else if (NavToggle.firstChild.data == NavigationBarShow) {&lt;br /&gt;
         for (&lt;br /&gt;
                 var NavChild = NavFrame.firstChild;&lt;br /&gt;
                 NavChild != null;&lt;br /&gt;
                 NavChild = NavChild.nextSibling&lt;br /&gt;
             ) {&lt;br /&gt;
             if (hasClass(NavChild, 'NavPic')) {&lt;br /&gt;
                 NavChild.style.display = 'block';&lt;br /&gt;
             }&lt;br /&gt;
             if (hasClass(NavChild, 'NavContent')) {&lt;br /&gt;
                 NavChild.style.display = 'block';&lt;br /&gt;
             }&lt;br /&gt;
         }&lt;br /&gt;
     NavToggle.firstChild.data = NavigationBarHide;&lt;br /&gt;
     }&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  // adds show/hide-button to navigation bars&lt;br /&gt;
  function createNavigationBarToggleButton()&lt;br /&gt;
  {&lt;br /&gt;
     var indexNavigationBar = 0;&lt;br /&gt;
     // iterate over all &amp;lt; div &amp;gt;-elements &lt;br /&gt;
     var divs = document.getElementsByTagName(&amp;quot;div&amp;quot;);&lt;br /&gt;
     for(&lt;br /&gt;
             var i=0; &lt;br /&gt;
             NavFrame = divs[i]; &lt;br /&gt;
             i++&lt;br /&gt;
         ) {&lt;br /&gt;
         // if found a navigation bar&lt;br /&gt;
         if (hasClass(NavFrame, &amp;quot;NavFrame&amp;quot;)) {&lt;br /&gt;
  &lt;br /&gt;
             indexNavigationBar++;&lt;br /&gt;
             var NavToggle = document.createElement(&amp;quot;a&amp;quot;);&lt;br /&gt;
             NavToggle.className = 'NavToggle';&lt;br /&gt;
             NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);&lt;br /&gt;
             NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');');&lt;br /&gt;
&lt;br /&gt;
            /* Автоматическое сворачивание */&lt;br /&gt;
            var isCollapsed = hasClass( NavFrame, &amp;quot;collapsed&amp;quot; );&lt;br /&gt;
            if (isCollapsed) {&lt;br /&gt;
                for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {&lt;br /&gt;
                    if ( hasClass( NavChild, 'NavPic' ) || hasClass( NavChild, 'NavContent' ) ) {&lt;br /&gt;
                        NavChild.style.display = 'none';&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
            var NavToggleText = document.createTextNode(isCollapsed ? NavigationBarShow : NavigationBarHide);&lt;br /&gt;
            NavToggle.appendChild(NavToggleText);&lt;br /&gt;
            /* - */&lt;br /&gt;
&lt;br /&gt;
             // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)&lt;br /&gt;
             for(&lt;br /&gt;
               var j=0; &lt;br /&gt;
               j &amp;lt; NavFrame.childNodes.length; &lt;br /&gt;
               j++&lt;br /&gt;
             ) {&lt;br /&gt;
               if (hasClass(NavFrame.childNodes[j], &amp;quot;NavHead&amp;quot;)) {&lt;br /&gt;
                 NavFrame.childNodes[j].appendChild(NavToggle);&lt;br /&gt;
               }&lt;br /&gt;
             }&lt;br /&gt;
             NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
     // if more Navigation Bars found than Default: hide all&lt;br /&gt;
     if (NavigationBarShowDefault &amp;lt; indexNavigationBar) {&lt;br /&gt;
         for(&lt;br /&gt;
                 var i=1; &lt;br /&gt;
                 i&amp;lt;=indexNavigationBar; &lt;br /&gt;
                 i++&lt;br /&gt;
         ) {&lt;br /&gt;
             toggleNavigationBar(i);&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
   &lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
addOnloadHook(createNavigationBarToggleButton);&lt;br /&gt;
&lt;br /&gt;
/* &amp;lt;/pre&amp;gt; */&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>