바뀜

118 바이트 추가됨 ,  2012년 3월 10일 (토) 09:32
숨기기/펼치기 관련 js 수정
35번째 줄: 35번째 줄:  
  *
 
  *
 
  *  Description: Allows tables to be collapsed, showing only the header. See
 
  *  Description: Allows tables to be collapsed, showing only the header. See
  *              [[:en:Wikipedia:NavFrame]].
+
  *              [[Wikipedia:NavFrame]].
  *  Maintainers: [[:en:User:R. Koot]]
+
  *  Maintainers: [[User:R. Koot]]
 
  */
 
  */
+
 
 
var autoCollapse = 2;
 
var autoCollapse = 2;
 +
 
var collapseCaption = "숨기기";
 
var collapseCaption = "숨기기";
 
var expandCaption = "보이기";
 
var expandCaption = "보이기";
+
window.collapseTable = function( tableIndex ){
function collapseTable( tableIndex )
  −
{
   
     var Button = document.getElementById( "collapseButton" + tableIndex );
 
     var Button = document.getElementById( "collapseButton" + tableIndex );
 
     var Table = document.getElementById( "collapsibleTable" + tableIndex );
 
     var Table = document.getElementById( "collapsibleTable" + tableIndex );
+
 
 
     if ( !Table || !Button ) {
 
     if ( !Table || !Button ) {
 
         return false;
 
         return false;
 
     }
 
     }
+
 
 
     var Rows = Table.rows;
 
     var Rows = Table.rows;
+
 
 
     if ( Button.firstChild.data == collapseCaption ) {
 
     if ( Button.firstChild.data == collapseCaption ) {
 
         for ( var i = 1; i < Rows.length; i++ ) {
 
         for ( var i = 1; i < Rows.length; i++ ) {
66번째 줄: 65번째 줄:  
     }
 
     }
 
}
 
}
+
 
function createCollapseButtons()
+
function createCollapseButtons(){
{
   
     var tableIndex = 0;
 
     var tableIndex = 0;
 
     var NavigationBoxes = new Object();
 
     var NavigationBoxes = new Object();
 
     var Tables = document.getElementsByTagName( "table" );
 
     var Tables = document.getElementsByTagName( "table" );
+
 
 
     for ( var i = 0; i < Tables.length; i++ ) {
 
     for ( var i = 0; i < Tables.length; i++ ) {
 
         if ( hasClass( Tables[i], "collapsible" ) ) {
 
         if ( hasClass( Tables[i], "collapsible" ) ) {
+
 
 
             /* only add button and increment count if there is a header row to work with */
 
             /* only add button and increment count if there is a header row to work with */
 
             var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0];
 
             var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0];
81번째 줄: 79번째 줄:  
             var Header = HeaderRow.getElementsByTagName( "th" )[0];
 
             var Header = HeaderRow.getElementsByTagName( "th" )[0];
 
             if (!Header) continue;
 
             if (!Header) continue;
+
 
 
             NavigationBoxes[ tableIndex ] = Tables[i];
 
             NavigationBoxes[ tableIndex ] = Tables[i];
 
             Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex );
 
             Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex );
+
 
 
             var Button    = document.createElement( "span" );
 
             var Button    = document.createElement( "span" );
 
             var ButtonLink = document.createElement( "a" );
 
             var ButtonLink = document.createElement( "a" );
 
             var ButtonText = document.createTextNode( collapseCaption );
 
             var ButtonText = document.createTextNode( collapseCaption );
+
 
 
             Button.className = "collapseButton";  //Styles are declared in Common.css
 
             Button.className = "collapseButton";  //Styles are declared in Common.css
+
 
 
             ButtonLink.style.color = Header.style.color;
 
             ButtonLink.style.color = Header.style.color;
 
             ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
 
             ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
             ButtonLink.setAttribute( "href", "javascript:collapseTable(" + tableIndex + ");" );
+
             ButtonLink.setAttribute( "href", "#" );
 +
            addHandler( ButtonLink,  "click", new Function( "evt", "collapseTable(" + tableIndex + " ); return killEvt( evt );") );
 
             ButtonLink.appendChild( ButtonText );
 
             ButtonLink.appendChild( ButtonText );
+
 
 
             Button.appendChild( document.createTextNode( "[" ) );
 
             Button.appendChild( document.createTextNode( "[" ) );
 
             Button.appendChild( ButtonLink );
 
             Button.appendChild( ButtonLink );
 
             Button.appendChild( document.createTextNode( "]" ) );
 
             Button.appendChild( document.createTextNode( "]" ) );
+
 
             Header.insertBefore( Button, Header.childNodes[0] );
+
             Header.insertBefore( Button, Header.firstChild );
 
             tableIndex++;
 
             tableIndex++;
 
         }
 
         }
 
     }
 
     }
+
 
 
     for ( var i = 0;  i < tableIndex; i++ ) {
 
     for ( var i = 0;  i < tableIndex; i++ ) {
 
         if ( hasClass( NavigationBoxes[i], "collapsed" ) || ( tableIndex >= autoCollapse && hasClass( NavigationBoxes[i], "autocollapse" ) ) ) {
 
         if ( hasClass( NavigationBoxes[i], "collapsed" ) || ( tableIndex >= autoCollapse && hasClass( NavigationBoxes[i], "autocollapse" ) ) ) {
120번째 줄: 119번째 줄:  
     }
 
     }
 
}
 
}
+
 
addOnloadHook( createCollapseButtons );
+
$( createCollapseButtons );
 +
 
    
/* ([[위키백과:관리자 요청/2007년 5월#스크립트 추가 요청]]) */
 
/* ([[위키백과:관리자 요청/2007년 5월#스크립트 추가 요청]]) */
 
/** Dynamic Navigation Bars (experimental) *************************************
 
/** Dynamic Navigation Bars (experimental) *************************************
 
  *
 
  *
  *  Description: See [[:en:Wikipedia:NavFrame]].
+
  *  Description: See [[Wikipedia:NavFrame]].
 
  *  Maintainers: UNMAINTAINED
 
  *  Maintainers: UNMAINTAINED
 
  */
 
  */
+
 
 
// set up the words in your language
 
// set up the words in your language
 
var NavigationBarHide = '[' + collapseCaption + ']';
 
var NavigationBarHide = '[' + collapseCaption + ']';
 
var NavigationBarShow = '[' + expandCaption + ']';
 
var NavigationBarShow = '[' + expandCaption + ']';
+
 
 
// shows and hides content and picture (if available) of navigation bars
 
// shows and hides content and picture (if available) of navigation bars
 
// Parameters:
 
// Parameters:
 
//    indexNavigationBar: the index of navigation bar to be toggled
 
//    indexNavigationBar: the index of navigation bar to be toggled
function toggleNavigationBar(indexNavigationBar)
+
window.toggleNavigationBar = function(indexNavigationBar){
{
   
     var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
 
     var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
 
     var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
 
     var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
+
 
 
     if (!NavFrame || !NavToggle) {
 
     if (!NavFrame || !NavToggle) {
 
         return false;
 
         return false;
 
     }
 
     }
+
 
 
     // if shown now
 
     // if shown now
 
     if (NavToggle.firstChild.data == NavigationBarHide) {
 
     if (NavToggle.firstChild.data == NavigationBarHide) {
154번째 줄: 153번째 줄:  
         }
 
         }
 
     NavToggle.firstChild.data = NavigationBarShow;
 
     NavToggle.firstChild.data = NavigationBarShow;
+
 
 
     // if hidden now
 
     // if hidden now
 
     } else if (NavToggle.firstChild.data == NavigationBarShow) {
 
     } else if (NavToggle.firstChild.data == NavigationBarShow) {
165번째 줄: 164번째 줄:  
     }
 
     }
 
}
 
}
+
 
 
// adds show/hide-button to navigation bars
 
// adds show/hide-button to navigation bars
function createNavigationBarToggleButton()
+
function createNavigationBarToggleButton(){
{
   
     var indexNavigationBar = 0;
 
     var indexNavigationBar = 0;
 
     // iterate over all < div >-elements  
 
     // iterate over all < div >-elements  
175번째 줄: 173번째 줄:  
         // if found a navigation bar
 
         // if found a navigation bar
 
         if (hasClass(NavFrame, "NavFrame")) {
 
         if (hasClass(NavFrame, "NavFrame")) {
+
 
 
             indexNavigationBar++;
 
             indexNavigationBar++;
 
             var NavToggle = document.createElement("a");
 
             var NavToggle = document.createElement("a");
181번째 줄: 179번째 줄:  
             NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
 
             NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
 
             NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');');
 
             NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');');
+
 
 
             var isCollapsed = hasClass( NavFrame, "collapsed" );
 
             var isCollapsed = hasClass( NavFrame, "collapsed" );
 
             /*
 
             /*
206번째 줄: 204번째 줄:  
             var NavToggleText = document.createTextNode(isCollapsed ? NavigationBarShow : NavigationBarHide);
 
             var NavToggleText = document.createTextNode(isCollapsed ? NavigationBarShow : NavigationBarHide);
 
             NavToggle.appendChild(NavToggleText);
 
             NavToggle.appendChild(NavToggleText);
+
 
 
             // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
 
             // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
 
             for(var j=0; j < NavFrame.childNodes.length; j++) {
 
             for(var j=0; j < NavFrame.childNodes.length; j++) {
 
                 if (hasClass(NavFrame.childNodes[j], "NavHead")) {
 
                 if (hasClass(NavFrame.childNodes[j], "NavHead")) {
 +
                    NavToggle.style.color = NavFrame.childNodes[j].style.color;
 
                     NavFrame.childNodes[j].appendChild(NavToggle);
 
                     NavFrame.childNodes[j].appendChild(NavToggle);
 
                 }
 
                 }
217번째 줄: 216번째 줄:  
     }
 
     }
 
}
 
}
+
 
addOnloadHook( createNavigationBarToggleButton );
+
$( createNavigationBarToggleButton );