Fittext只有在调整窗口大小时才起作用

Fittext will only work when window is resized?

本文关键字:小时 起作用 窗口 调整 Fittext      更新时间:2023-10-26

我正在使用fittextJS插件来调整我正在处理的页面上的标题。出于某种原因,只有当/一旦你调整了窗口大小,它才会生效,我似乎不明白它为什么这么做。

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

谢谢!

对于那些仍然有问题的人,这个修复程序对我有效

jquery.fittext.js 中替换此代码

// Call once to set.
resizer();

有了这个代码,

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

你的链接关闭了,所以我实际上看不出问题是什么。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加载后再使用插件?

我刚刚遇到了一个类似的问题,这让我抓狂。容纳我的文本的元素无法在其容器中收缩,因为最大字体太大,所以我以父容器的宽度开始。然后,我只在初始化后使用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});
});