MediaWiki:Common.js: Difference between revisions

adding support for hovertable class
(does this only work with this syntax?)
(adding support for hovertable class)
Line 91: Line 91:
     };
     };
})();
})();
/** Hover tables *********************************************************
*
*  Description: Allows tables to use mouse-over to provide explanation of
*              the pointed-to content.
*  Maintainers: [[User:Iritscen]]
*/
function showDescrip(typeID, show_or_not)
{
    var DescripPanel = document.getElementsByClassName("hovertable_descrip")[0]; /* only get 1st one on page to keep things simple */
    var Descrips = DescripPanel.getElementsByTagName("span");
    if (!DescripPanel || !Descrips)
        return false;
    for (var i = 0; i < Descrips.length; i++)
    {
        if (Descrips[i].id == typeID)
        {
            if (show_or_not)
                Descrips[i].style.display = "block";
            else
                Descrips[i].style.display = "none";
        }
    }
}
function initHoverTables()
{
    var Tables = document.getElementsByClassName("hovertable");
    if (!Tables)
        return false;
    for (var i = 0; i < Tables.length; i++)
    {
        var Cells = Tables[i].getElementsByTagName("td");
        if (!Cells) continue;
        for (var j = 0; j < Cells.length; j++)
        {
            if (hasClass(Cells[j], "hovercell"))
            {
                addHandler(Cells[j], "mouseover", new Function("evt", "showDescrip(this.id, true);"));
                addHandler(Cells[j], "mouseout", new Function("evt", "showDescrip(this.id, false);"));
            }
        }
    }
}
addOnloadHook(initHoverTables);