グリッドにレイアウトされた多くの div を含むページがあります。各 div にはテキストがあります。divを埋めるのに十分な大きさのテキストが必要です。この答えに従って、divがスクロールしたことを検出するまでテキストサイズを大きくしてから、戻ってこれを行います。
ダイナミック テキストのサイズを自動調整して div を埋める
これは、モバイル ブラウザを含むほとんどのブラウザで非常にうまく機能しますが、IE10 では非常に遅くなります。実際に文字を小さくして見ることができます。フォントサイズが変わるたびに、何らかのウィンドウ全体のレイアウト操作を行っていると推測しています。
すべてのdivが完了するまで再描画を一時停止する方法、またはパフォーマンスを向上させる方法はありますか?
これは、テクニックを示す簡単なフィドルです。ページに約 50 の div があると想像してみてください。Chrome ではインスタント、IE10 では数秒かかります。
(function($) {
$.fn.textfill = function(options) {
var fontSize = options.maxFontPixels;
var ourText = $('span: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);
return this;
}
})(jQuery);
$(document).ready(function() {
$('.jtextfill').textfill({ maxFontPixels: 200 });
});
jsfiddle: http://jsfiddle.net/pRJdY/