ホームページ >ウェブフロントエンド >jsチュートリアル >jQuery を使用して固定幅の複数行要素でクロスブラウザーのテキスト オーバーフローを修正する方法

jQuery を使用して固定幅の複数行要素でクロスブラウザーのテキスト オーバーフローを修正する方法

Barbara Streisand
Barbara Streisandオリジナル
2024-10-26 08:48:03544ブラウズ

How to Fix Cross-Browser Text Overflow in Fixed-Width, Multi-Line Elements Using jQuery?

固定幅の複数行要素でのクロスブラウザー テキスト オーバーフローの修正

制約のある div があるシナリオを考えてみましょう。幅と複数のテキスト行。オーバーフローしたテキストが省略記号 (...) で切り詰められるようにするにはどうすればよいですか?

jQuery を使用した複数行の省略記号

さまざまな jQuery プラグインがテキスト オーバーフローに対処するものもありますが、容量が大きいため、要件に合わせて特別に調整されたものを見つけるのは難しい場合があります。 jQuery を使用した基本的なアプローチは次のとおりです。

var $p = $('#fos p');
var divh = $('#fos').height();
while ($p.outerHeight() > divh) {
    $p.text(function (index, text) {
        return text.replace(/\W*\s(\S)*$/, '...');
    });
}

このスクリプトは、高さが div と一致するまで、テキストから最後の単語を繰り返し削除します。 JavaScript が無効になっていても、切り詰められたテキストは視覚的に正しいままです。

サーバー側の最適化

このアプローチとサーバー側の切り捨てを組み合わせると、オーバーヘッドを最小限に抑えてパフォーマンスを向上させることができます。 .

注: このソリューションは出発点であり、特定の要件に基づいてさらに改良する必要がある場合があります。

以上がjQuery を使用して固定幅の複数行要素でクロスブラウザーのテキスト オーバーフローを修正する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。