MediaWiki:Common.js: Difference between revisions

From Moonlight Design
Jump to navigation Jump to search
No edit summary
No edit summary
Line 14: Line 14:


             // Give the second-to-last cell a width of 15em (CSS lets us do this, but, sadly, browsers don't implement nth-child)
             // Give the second-to-last cell a width of 15em (CSS lets us do this, but, sadly, browsers don't implement nth-child)
             rows = table.rows;
             rows = tables[t].rows;
             for (var r = 0; r < rows.length; r++) {
             for (var r = 0; r < rows.length; r++) {
                 if (rows[r].lastChild && rows[r].lastChild.previousSibling) {
                 if (rows[r].lastChild && rows[r].lastChild.previousSibling) {

Revision as of 23:59, 29 September 2007

/* Any JavaScript here will be loaded for all users on every page load. */

// Highlight every other line in the software tables
var orig_onload = window.onload;
window.onload = function(e) {
    if (orig_onload != null) {
        orig_onload(e);
    }
    var tables = document.getElementsByTagName("table");
    var rows;
    for (var t = 0; t < tables.length; t++) {
        if (tables[t].className.indexOf("software") >= 0) {
            grayRows(tables[t]);

            // Give the second-to-last cell a width of 15em (CSS lets us do this, but, sadly, browsers don't implement nth-child)
            rows = tables[t].rows;
            for (var r = 0; r < rows.length; r++) {
                if (rows[r].lastChild && rows[r].lastChild.previousSibling) {
                    rows[r].lastChild.previousSibling.style += "width: 15em;";
                }
            }
        }
    }
}

function grayRows(table) {
    var rows = table.rows;
    for (var r = 0; r < rows.length; r++) {
        if (r % 2 == 1) {
            rows[r].className = "grayrow";
        } else {
            rows[r].className = "";
        }
    }
}

var orig_ts_resortTable = ts_resortTable;
ts_resortTable = function(evt) {
    orig_ts_resortTable(evt);

    // Find the table
    var table = evt;
    while (table && table.tagName.toLowerCase() != "table") {
        table = table.parentNode;
    }
    if (table) {
        grayRows(table);
    }
}