用于jQuery 1.6的Textfill? (不工作)

时间:2011-08-16 13:56:28

标签: javascript jquery

我希望你能开导我。我正在尝试在一个joomla网站上使用GeekMonkey的textfill插件,该网站有jQuery 1.6.1(模板使用它)。该插件无法正常工作。有没有什么办法解决这一问题?我找不到任何其他文本填充!

这是GeekMonkey的插件:

; (function($) {
    /**
    * Resizes an inner element's font so that the inner element completely fills the outer element.
    * @author Russ Painter WebDesign@GeekyMonkey.com
    * @version 0.1
    * @param {Object} Options which are maxFontPixels (default=40), innerTag (default='span')
    * @return All outer elements processed
    * @example <div class='mybigdiv filltext'><span>My Text To Resize</span></div>
    */
    $.fn.textfill = function(options) {
        var defaults = {
            maxFontPixels: 40,
            innerTag: 'span'
        };
        var Opts = jQuery.extend(defaults, options);
        return this.each(function() {
            var fontSize = Opts.maxFontPixels;
            var ourText = $(Opts.innerTag + ':visible:first', this);
            var maxHeight = $(this).height();
            var maxWidth = $(this).width();
            var textHeight;
            var textWidth;
            do {
                ourText.css('font-size', fontSize);
                textHeight = ourText.height();
                textWidth = ourText.width();
                fontSize = fontSize - 1;
            } while ((textHeight > maxHeight || textWidth > maxWidth) && fontSize > 3);
        });
    };
})(jQuery);

$(document).ready(function() {
    $('.jtextfill').textfill({ maxFontPixels: 36, innerTag: 'h1' });
});

$(document).ready(function() {
            $('.jtextfill').textfill({ maxFontPixels: 70 });

            $('#dyntext').keyup(function() {
                $('.dyntextval').html(this.value);
                $('.jtextfill').textfill({ maxFontPixels: 70 });
            });
        });

提前致谢, 绝望的用户.-

1 个答案:

答案 0 :(得分:0)

要使该插件正常工作,您需要

  • 设置容器的(.jtextfill)宽度和高度
  • 显示内联标签(CSS中的display:inline)。

演示:http://jsfiddle.net/2btyN/