FitText插件仅调整第一个元素的大小

时间:2014-02-08 03:39:03

标签: javascript jquery plugins

我正在使用fitText来分别调整我的网站中的两个h1元素和一个p。只调整文档加载后的第一个元素和window.resize之后的第一个元素。

我在控制台中收到错误: “Uncaught TypeError:Object [object Object]没有方法'on'”,来自第37行或fitText.js:

$(window).on('resize.fittext orientationchange.fittext', resizer);

我从经验中知道,当连续的fitText()调用发生时,插件无法使用窗口对象。

亲自见http://www.jjplusplus.com 我正在使用gitHub中的fitText示例example.html;我几乎完全匹配它,但打破了初始负荷:

$( window ).load(function() {
    //this first line runs
    $("#webBeast").fitText(0.65);
    //both consecutive calls to .fitText() throw a console error
    $("#razorsEdge").fitText(0.65);
    $("#l2").fitText();
    ...
}

$( window ).resize(function() {
    //this resizes the razorsEdge element
    $("#razorsEdge").fitText(0.65);
    //these lines do not resize
    //even though #webBeast was the element that initially resized
    $("#webBeast").fitText(0.65);
    $("#l2").fitText();
});

请随时直接从网站上检查我的代码http://www.jjplusplus.com

1 个答案:

答案 0 :(得分:1)

在插件中注释掉这一行是有用的:

$(window).on('resize.fittext orientationchange.fittext',resizer);

这就是抛出错误。 令我印象深刻的是,这行的目的是在调整窗口大小时调用resizer函数...但是在我的情况下没有必要因为我正在侦听resize事件并手动调用每个元素上的fitText fn。

有趣?当然。我真的回答了这个问题吗?不是完全。我仍然希望我知道为什么它不起作用。