ラップ/アンラップでもっと読む

ジオパップ

wrapメソッドを使用して「read-moreread-less」を作成しようとしていますが、showmoreでのみ機能します。
したがって、基本的に、テキストが必要以上に長い場合は、テキストを削除して、続きを読むリンクを追加します(これは機能します)。削除された後、以前の長さに削除することになっている読み取りなしのリンクを追加して、read-more-linkで再度削除できるようにしますが、ここでは折り返しは機能しません。

$(document).ready(function() {
  var maxLength = 490;
  $(".keimeno").each(function() {
    var myStr = $(this).text();
    if ($.trim(myStr).length > maxLength) {
      var newStr = myStr.substring(0, maxLength);
      var removedStr = myStr.substring(maxLength, $.trim(myStr).length);
      $(this).empty().html(newStr);
      $(this).append(' <a href="javascript:void(0);" class="read-more">...read more</a>');
      $(this).append('<span class="more-text">' + removedStr + ' <a href="javascript:void(0);" class="read-less">read less</a>' + '</span>');
    }
  });
  
  $(".read-more").click(function() {
    $(this).siblings(".more-text").contents().unwrap();
    $(this).remove();
  });
  
  $(".read-less").click(function() {
    $(this).remove();
    $(this).siblings(".more-text").contents().wrap();
  });
});
.keimeno .more-text {
  display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script>
<link href="https://fonts.googleapis.com/css?family=Spicy+Rice&display=swap" rel="stylesheet" />
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous" />

<div class="card">
  <ul id="kirio">
    <li>
      <div class="col-lg-12">
        <p class="keimeno">
          SOME TEXT asdasdas SOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME
          TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT MORE TEXT MOREOME TEXT MORE TEXT MOREOME TEXT MORE TEXT MOREOME TEXT MORE
          TEXT MOREOME TEXT MORE TEXT MOREOME TEXT MORE TEXT MORE
        </p>
      </div>
    </li>
    <li>
      <div class="col-lg-12">
        <p class="keimeno">
          SOME TEXT asdasdas SOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME
          TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME
          TEXT asdasdas
        </p>
      </div>
    </li>
  </ul>
</div>
jsfiddle:https://jsfiddle.net/b9nsmyvu/1/

matthias_h

実行するテキスト操作から関数を作成し、$(document).ready();「readless」をクリックしたときにその関数を呼び出すことができます。またclick()、「readmore」と「readless」のイベントはdocument両方ともページに動的に追加されるため、静的な親要素から委任する必要があることにも注意してください。

$(document).ready(function() {
  function readMore() {
    var maxLength = 490;
    $(".keimeno").each(function() {
      var myStr = $(this).text();
      if ($.trim(myStr).length > maxLength) {
        var newStr = myStr.substring(0, maxLength);
        var removedStr = myStr.substring(maxLength, $.trim(myStr).length);
        $(this).empty().html(newStr);
        $(this).append(' <a href="javascript:void(0);" class="read-more">...read more</a>');
        $(this).append('<span class="more-text">' + removedStr + ' <a href="javascript:void(0);" class="read-less">read less</a>' + '</span>');
      }
    });

  }
  readMore();
  $(document).on("click", ".read-more", function() {
    $(this).siblings(".more-text").contents().unwrap();
    $(this).remove();
  });

  $(document).on("click", ".read-less", function() {
    $(this).remove();
    readMore();
  });
});
.keimeno .more-text {
  display: none;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="card">
  <ul id="kirio">
    <li>

      <div class="col-lg-12">
        <p class="keimeno">
          SOME TEXT asdasdas SOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME
          TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT MORE TEXT MOREOME TEXT MORE TEXT MOREOME TEXT MORE TEXT MOREOME TEXT MORE
          TEXT MOREOME TEXT MORE TEXT MOREOME TEXT MORE TEXT MORE
        </p>
      </div>



    </li>
    <li>

      <div class="col-lg-12">
        <p class="keimeno">
          SOME TEXT asdasdas SOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME
          TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME TEXT asdasdasSOME
          TEXT asdasdas
        </p>
      </div>


    </li>

  </ul>
</div>

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

「eglfs」ではなくプラットフォームプラグイン「xcb」を読み込もうとしているQtアプリケーション

分類Dev

アコーディオンまたは他の何かでもっと読むオプション

分類Dev

ネットフレームワーク4.5.2を4.7.1にアップグレードした後、ビルドエラー「誤った形式でアセンブリを読み込もうとしました」

分類Dev

KubernetesでNGINXを使用すると、ドメインではなくプライベートIPでアセットを読み込もうとします

分類Dev

UIPickerViewでビューを読み込もうとすると、iOSアプリケーションがNSUnknownKeyExceptionをクラッシュさせる

分類Dev

バックグラウンドモードとプッシュ通知が有効になっている場合でも、Firebase PhoneAuthenticationはiOSでreCAPTCHA検証ウィンドウをポップアップします

分類Dev

Wordpressはループでもっと読む

分類Dev

AJAXワードプレスでもっと投稿を読む

分類Dev

別のラップトップ電源、同じチップ極性、電圧、少なくとも同じアンペア数を使用できますか?

分類Dev

Django-CustomModelFormの「extra_fields」は、そのフォームを読み込もうとすると、モデルのインラインインターフェイスで「ルックアップできません」エラーを出します

分類Dev

CPUコアの数よりもKafkaのトピックをもっと読む

分類Dev

MySQLでドラッグアンドドロップできるセクションを含むリストを保存する最も効率的な方法

分類Dev

画像をどこにでもドラッグアンドドロップ

分類Dev

イオンスプラッシュ画面(エラー:アップロードされた画像を読み取ることができません)

分類Dev

通知を読み込もうとするとアプリがクラッシュする

分類Dev

ユニオンとビットシフトを使用してプラットフォームのエンディアンを2倍に読むと、安全ですか?

分類Dev

jQueryでのラップメソッドとアンラップメソッドの制御

分類Dev

Rubyを使用して大きなファイルをS3にアップロードすると、メモリ不足エラーが発生します。チャンクで読み取ってアップロードする方法は?

分類Dev

PyQt4アプリケーションにプロットグラフ(オフライン)を埋め込むことはできますか?

分類Dev

Xiaomi電話からプログラムでメッセージを読むことができません

分類Dev

新しいバージョンが利用可能であっても、プラグインはアップデートを提供しません

分類Dev

ラップコンテンツアイテムを含むRecyclerView

分類Dev

オプションがnilでないことを確認した後、オプションを強制的にアンラップしても安全ですか?

分類Dev

openmediavault バックアップ プラグイン (および fsarchiver オプション) で行ったバックアップを復元する方法は?

分類Dev

データベースを読み込もうとすると、アプリケーションがクラッシュし続ける

分類Dev

SwiftでYahooAPIをアンラップ

分類Dev

javascriptで書かれたグラフを含むポップアップウィンドウを開く方法は?

分類Dev

GoogleAPIフィットネスプレイグラウンドからBloodPressureとBloodGlucoseのdataSourceを読む

分類Dev

C#でプラグインを読み込もうとすると、アセンブリエラーを読み込めませんでした

Related 関連記事

  1. 1

    「eglfs」ではなくプラットフォームプラグイン「xcb」を読み込もうとしているQtアプリケーション

  2. 2

    アコーディオンまたは他の何かでもっと読むオプション

  3. 3

    ネットフレームワーク4.5.2を4.7.1にアップグレードした後、ビルドエラー「誤った形式でアセンブリを読み込もうとしました」

  4. 4

    KubernetesでNGINXを使用すると、ドメインではなくプライベートIPでアセットを読み込もうとします

  5. 5

    UIPickerViewでビューを読み込もうとすると、iOSアプリケーションがNSUnknownKeyExceptionをクラッシュさせる

  6. 6

    バックグラウンドモードとプッシュ通知が有効になっている場合でも、Firebase PhoneAuthenticationはiOSでreCAPTCHA検証ウィンドウをポップアップします

  7. 7

    Wordpressはループでもっと読む

  8. 8

    AJAXワードプレスでもっと投稿を読む

  9. 9

    別のラップトップ電源、同じチップ極性、電圧、少なくとも同じアンペア数を使用できますか?

  10. 10

    Django-CustomModelFormの「extra_fields」は、そのフォームを読み込もうとすると、モデルのインラインインターフェイスで「ルックアップできません」エラーを出します

  11. 11

    CPUコアの数よりもKafkaのトピックをもっと読む

  12. 12

    MySQLでドラッグアンドドロップできるセクションを含むリストを保存する最も効率的な方法

  13. 13

    画像をどこにでもドラッグアンドドロップ

  14. 14

    イオンスプラッシュ画面(エラー:アップロードされた画像を読み取ることができません)

  15. 15

    通知を読み込もうとするとアプリがクラッシュする

  16. 16

    ユニオンとビットシフトを使用してプラットフォームのエンディアンを2倍に読むと、安全ですか?

  17. 17

    jQueryでのラップメソッドとアンラップメソッドの制御

  18. 18

    Rubyを使用して大きなファイルをS3にアップロードすると、メモリ不足エラーが発生します。チャンクで読み取ってアップロードする方法は?

  19. 19

    PyQt4アプリケーションにプロットグラフ(オフライン)を埋め込むことはできますか?

  20. 20

    Xiaomi電話からプログラムでメッセージを読むことができません

  21. 21

    新しいバージョンが利用可能であっても、プラグインはアップデートを提供しません

  22. 22

    ラップコンテンツアイテムを含むRecyclerView

  23. 23

    オプションがnilでないことを確認した後、オプションを強制的にアンラップしても安全ですか?

  24. 24

    openmediavault バックアップ プラグイン (および fsarchiver オプション) で行ったバックアップを復元する方法は?

  25. 25

    データベースを読み込もうとすると、アプリケーションがクラッシュし続ける

  26. 26

    SwiftでYahooAPIをアンラップ

  27. 27

    javascriptで書かれたグラフを含むポップアップウィンドウを開く方法は?

  28. 28

    GoogleAPIフィットネスプレイグラウンドからBloodPressureとBloodGlucoseのdataSourceを読む

  29. 29

    C#でプラグインを読み込もうとすると、アセンブリエラーを読み込めませんでした

ホットタグ

アーカイブ