2

div の元のテキストを取得し、ユーザーがウィンドウのサイズを変更したときにこのテキストを変更する単純な関数があります (レスポンシブ サイト)。ユーザーがウィンドウを再度拡大すると、元のテキストが表示される必要があります。とてもシンプルですが、小さな問題があります。

function limitH2Text() {
        var origText = $(".result .right .mask").text();
        var width = $(window).width();
        if (width < 811) {
            $(".result .right .mask").each(function () {
                var $this = $(this);
                $this.text($this.text().slice(0, 75));
                $this.append('...').show();
            });
        } else {
            $(".result .right .mask").each(function () {
                $(this).text(origText);
            });
        }
    }

コンソールは、var origText に 3 つの [.result .right .mask] div のテキストが含まれていることを示しています。ご覧のとおり、HTML は [.result .right .mask] の繰り返しです。したがって、(たとえば)「こんにちは、これはテキストです」の代わりに、「こんにちは、これはテキストです、こんにちは、これはテキストです、こんにちは、これはテキストです」と表示されます。ユーザーがサイズを変更すると、これが指数関数的に大きくなるため、ブラウザがクラッシュします。その1つのdivのテキストを一度だけ保存する方法がわかりませんか?

助けてくれてありがとう!

4

2 に答える 2