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(); });