MediaWiki:Common.js
From Card Hunter Wiki
(Difference between revisions)
| Line 4: | Line 4: | ||
var tooltipsOn = true; | var tooltipsOn = true; | ||
var $tfb, $ttfb, $htt; | var $tfb, $ttfb, $htt; | ||
| + | var activeHoverLink = null; | ||
| + | var tipCache = new Object(); | ||
| + | |||
| + | // hides the tooltip | ||
| + | function hideTip() { | ||
| + | $tfb.html("").removeClass("tooltip-ready").addClass("hidden").css("visibility","hidden"); | ||
| + | activeHoverLink = null; | ||
| + | } | ||
| + | |||
| + | // displays the tooltip | ||
| + | function displayTip(e) { | ||
| + | $tfb.not(":empty").removeClass("hidden").addClass("tooltip-ready"); | ||
| + | $tfb.not(":empty").css("visibility","visible"); | ||
| + | } | ||
| + | |||
| + | // AJAX tooltips | ||
| + | function showTip(e) { | ||
| + | var $t=$(this); | ||
| + | activeHoverLink = $t; | ||
| + | $p=$t.parent(); | ||
| + | if ($p.hasClass("selflink")==false) { | ||
| + | $t.removeAttr("title"); | ||
| + | $p.removeAttr("title"); | ||
| + | $tfb.html(""); | ||
| + | $tfb.load(url,function () { | ||
| + | if ($t != activeHoverLink) return; | ||
| + | if ($tfb.html() == "") $tfb.html('<div class="tooltip-content"><b>Testing tooltips</b></div>'); | ||
| + | $tfb.find(".tooltip-content").css("display",""); | ||
| + | tipCache[url] = $tfb.html(); | ||
| + | displayTip(e); | ||
| + | }); | ||
| + | } | ||
| + | } | ||
function bindTT() { | function bindTT() { | ||
| Line 9: | Line 42: | ||
$p=$t.parent(); | $p=$t.parent(); | ||
if ($p.hasClass("selflink") == false) { | if ($p.hasClass("selflink") == false) { | ||
| − | $t.data("tt", $p.attr("title"). | + | $t.data("tt", $p.attr("title").hover(showTip,hideTip)); |
} | } | ||
} | } | ||
Revision as of 00:46, 12 March 2013
/* Any JavaScript here will be loaded for all users on every page load. */
article = "";
var tooltipsOn = true;
var $tfb, $ttfb, $htt;
var activeHoverLink = null;
var tipCache = new Object();
// hides the tooltip
function hideTip() {
$tfb.html("").removeClass("tooltip-ready").addClass("hidden").css("visibility","hidden");
activeHoverLink = null;
}
// displays the tooltip
function displayTip(e) {
$tfb.not(":empty").removeClass("hidden").addClass("tooltip-ready");
$tfb.not(":empty").css("visibility","visible");
}
// AJAX tooltips
function showTip(e) {
var $t=$(this);
activeHoverLink = $t;
$p=$t.parent();
if ($p.hasClass("selflink")==false) {
$t.removeAttr("title");
$p.removeAttr("title");
$tfb.html("");
$tfb.load(url,function () {
if ($t != activeHoverLink) return;
if ($tfb.html() == "") $tfb.html('<div class="tooltip-content"><b>Testing tooltips</b></div>');
$tfb.find(".tooltip-content").css("display","");
tipCache[url] = $tfb.html();
displayTip(e);
});
}
}
function bindTT() {
$t=$(this);
$p=$t.parent();
if ($p.hasClass("selflink") == false) {
$t.data("tt", $p.attr("title").hover(showTip,hideTip));
}
}
function addTT() {
$(this).wrapInner('<span class="ajaxttlink" />');
}
function Inittooltips() {
if ($tfb == null) {
$(article).append('<div id="tfb" class="htt"></div><div id="templatetfb" class="htt"></div>');
$tfb = $("#tfb");
$ttfb = $("#templatetfb");
$htt = $("#tfb,#templatetfb");
}
$(article + " a[href*='wiki/Cards/']:not(:has(span.ajaxttlink))").each(addTT);
$(article + " span.ajaxttlink:not(:has(span.disablett))").each(bindTT);
}
function modifyHeader() {
var str=$("#firstHeading").html();
if (str.indexOf("Cards/")==17||str.indexOf("Items/")==17) $("#firstHeading").html(str.slice(23));
}
$(function() {
article = "#bodyContent";
var headerstr=$("#firstHeading").html();
/*js to remove ugly header in Main page.*/
if (headerstr.indexOf("Cardhuntria:Community portal")>0) $("#firstHeading").remove();
/*js to strip "Cards/" and "Items/" from headers belonging to card and item pages.*/
if ((headerstr.indexOf("Cards/")>0) || (headerstr.indexOf("Items/")>0)) modifyHeader();
else if (tooltipsOn) Inittooltips();
});