/***********************************************************/
/* tinyTips Plugin */
/* Version: 1.1 */
/* Mike Merritt */
/* Updated: Mar 2nd, 2010 */
/***********************************************************/
(function($){
$.fn.tinyTips = function (tipColor, supCont) {
if (tipColor === 'null') {
tipColor = 'light';
}
var tipName = tipColor + 'Tip';
/* User settings
**********************************/
// Enter the markup for your tooltips here. The wrapping div must have a class of tinyTip and
// it must have a div with the class "content" somewhere inside of it.
var tipFrame = '
';
// Speed of the animations in milliseconds - 1000 = 1 second.
var animSpeed = 300;
/***************************************************************************************************/
/* End of user settings - Do not edit below this line unless you are trying to edit functionality. */
/***************************************************************************************************/
// Global tinyTip variables;
var tinyTip;
var tText;
// When we hover over the element that we want the tooltip applied to
$(this).hover(function() {
// Inject the markup for the tooltip into the page and
// set the tooltip global to the current markup and then hide it.
$('body').append(tipFrame);
var divTip = 'div.'+tipName;
tinyTip = $(divTip);
tinyTip.hide();
// Grab the content for the tooltip from the title attribute (or the supplied content) and
// inject it into the markup for the current tooltip. NOTE: title attribute is used unless
// other content is supplied instead.
if (supCont === 'title') {
var tipCont = $(this).attr('title');
} else if (supCont !== 'title') {
var tipCont = supCont;
}
$(divTip + ' .content').html(tipCont);
tText = $(this).attr('title');
$(this).attr('title', '');
// Offsets so that the tooltip is centered over the element it is being applied to but
// raise it up above the element so it isn't covering it.
var yOffset = tinyTip.height() + 2;
var xOffset = (tinyTip.width() / 2) - ($(this).width() / 2);
// Grab the coordinates for the element with the tooltip and make a new copy
// so that we can keep the original un-touched.
var pos = $(this).offset();
var nPos = pos;
// Add the offsets to the tooltip position
nPos.top = pos.top - yOffset;
nPos.left = pos.left - xOffset;
// Make sure that the tooltip has absolute positioning and a high z-index,
// then place it at the correct spot and fade it in.
tinyTip.css('position', 'absolute').css('z-index', '1000');
tinyTip.css(nPos).fadeIn(animSpeed);
}, function() {
$(this).attr('title', tText);
// Fade the tooltip out once the mouse moves away and then remove it from the DOM.
tinyTip.fadeOut(animSpeed, function() {
$(this).remove();
});
});
}
})(jQuery);