Fittext仅在调整窗口大小时才有效?

时间:2012-07-18 03:37:40

标签: javascript jquery responsive-design

我正在使用fittext JS插件来调整我正在处理的页面上的标题。出于某种原因,它只会在你调整窗口大小时启动,我似乎无法弄清楚为什么会这样做。

有人有什么想法吗?这是一个链接: http://voltagenewmedia.ca/testserver/dry/#/homepage

谢谢!

3 个答案:

答案 0 :(得分:3)

对于仍有问题的人,此修复程序适用于我

jquery.fittext.js

中替换此代码
// Call once to set.
resizer();

使用此代码,

$(window).load(function(){
    resizer();
});

答案 1 :(得分:0)

你的链接已关闭,所以我实际上无法看到问题所在。 Fittext应立即调整大小,然后在调整大小时更新:

  // Resizer() resizes items based on the object width divided by the compressor * 10
  var resizer = function () {
    $this.css('font-size', Math.max(Math.min($this.width() / (compressor*10), parseFloat(settings.maxFontSize)), parseFloat(settings.minFontSize)));
  };

  // Call once to set.
  resizer();

  // Call on resize. Opera debounces their resize by default. 
  $(window).on('resize', resizer);

您是否在使用插件之前等待DOM加载?

答案 2 :(得分:0)

我遇到了一个让我疯狂的类似问题。保存我的文本的元素无法在其容器内缩小,因为最大字体太大,所以我用父容器的宽度启动它。然后我在初始化之后使用fittext算法一次以使其正确加载并且它似乎解决了这个问题。

$("#hero").find('h1').fitText(.65, { maxFontSize: '142px' });

$("#hero").find('h1').each(function(){
    startSize = Math.max(Math.min($('#hero').width() / (compressor.*10)));
    $(this).css({'font-size':startSize});
});