/* * ---------------------------------------------------------------------------- * "THE BEER-WARE LICENSE" (Revision 42): * Tuxes3 wrote this file. As long as you retain this notice you * can do whatever you want with this stuff. If we meet some day, and you think * this stuff is worth it, you can buy me a beer in return Tuxes3 * ---------------------------------------------------------------------------- */ (function($) { var settings; $.fn.tx3TagCloud = function(options) { // // DEFAULT SETTINGS // settings = $.extend({ multiplier : 1 }, options); main(this); } function main(element) { // adding style attr element.addClass("tx3-tag-cloud"); addListElementFontSize(element); } /** * calculates the font size on each li element * according to their data-weight attribut */ function addListElementFontSize(element) { var hDataWeight = -9007199254740992; var lDataWeight = 9007199254740992; $.each(element.find("li"), function(){ cDataWeight = getDataWeight(this); if (cDataWeight == undefined) { logWarning("No \"data-weight\" attribut defined on
  • element"); } else { hDataWeight = cDataWeight > hDataWeight ? cDataWeight : hDataWeight; lDataWeight = cDataWeight < lDataWeight ? cDataWeight : lDataWeight; } }); $.each(element.find("li"), function(){ var dataWeight = getDataWeight(this); var percent = Math.abs((dataWeight - lDataWeight)/(lDataWeight - hDataWeight)); $(this).css('font-size', (1 + (percent * settings['multiplier'])) + "em"); }); } function getDataWeight(element) { return parseInt($(element).attr("data-weight")); } function logWarning(message) { console.log("[WARNING] " + Date.now() + " : " + message); } }(jQuery));