リスト形式のテキストの展開と折りたたみの実装は参考までに。具体的な内容は以下のとおりです。 必要: 1. テキストが目標値を超えると、目標値が遮断され、他の値は非表示になり、「展開」という単語とドロップダウン矢印が同時に表示されます。 CSSを使用して非表示にする行数を設定するか、非表示にするLiタグの高さを設定することを考えましたが、どちらも上記の3番目の要件を満たすことができないため、次の方法を思いつきました。 アイデア: 1. 最初に展開および折りたたみが必要な要素を走査し、目標値を超えた場合は非表示にして、すべてのタグの内容を保存します(後ですべてを表示するときに使用されます)。 html <ul class="outList"> <li> <div>第5-14号</div> <ul class="innerList"> <li class="wordsContent">1111111111111111111111111</li> <li class="wordsContent">2222222222222222222222222</li> <li class="wordsContent">333333333333333333333333</li> </ul> </li> <li> <div>第5-15号</div> <ul class="innerList"> <li class="wordsContent">4444</li> <li class="wordsContent">5555555555555555555555555555</li> <li class="wordsContent">66666666666666666666666666</li> </ul> </li> </ul> CS ul、li { リストスタイル: なし; } .innerList>li { 下マージン: 0.2rem; border-bottom: 0.01rem 緑一色; ボックスのサイズ: 境界線ボックス; パディング: 0.2rem 5% 0.7rem 3%; 位置: 相対的; 下マージン: 0.3rem; } 。開ける { フォントサイズ: 0.22rem; 色: #12309E; 位置: 絶対; 右: 0.2rem; 下部: 0.1rem; フォントの太さ: 太字; } 。近い { フォントサイズ: 0.22rem; 色: #12309E; 位置: 絶対; 右: 0.2rem; 下部: 0.1rem; フォントの太さ: 太字; } JS //ニュースを展開および折りたたみます var objList = $(".wordsContent"); //展開および折りたたみが必要なliタグ要素 var maxNum = 5; //ターゲット値の長さ var arr = []; //展開および折りたたみが必要なすべてのテキスト objList.delegate(".open", "click", function () { 開く閉じる(true, this) }) objList.delegate(".close", "click", function () { 開く閉じる(false, this) }) // パッケージを初期化します。初期化の目的は、1: Li タグの元のコンテンツを保存すること、2: ターゲット値を超えるテキストを非表示にすることです。function init(objList, maxNum) { objList.each(関数(インデックス、項目) { arr.push($(item_).text()) ($(item).text().length > maxNum) の場合 { $(item).html($(item).text().substr(0, maxNum) + "<span class='open'>展開<img src='./image/down^.png'/></span>") } }) } init(オブジェクトリスト、最大数) //展開と折りたたみのカプセル化関数 openClose(boo, clickObj) { var final = ''; arr.map(関数(項目、インデックス) { if (item.match($(clickObj).parents(".wordsContent").text().substring(0, $(clickObj).parents(".wordsContent").text().length - 2))) { 最終 = 項目 } }) もし(ブー){ $(clickObj).parents(".wordsContent").html(final + "<span class='close'>收起<img src='./image/up^.png'/></span>") } それ以外 { $(clickObj).parents(".wordsContent").html(final.substr(0, maxNum) + "<span class='open'>展開<img src='./image/down^.png'/></span>") } } 効果 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: MySQL が重複データを挿入するのを防ぐ 3 つの方法
現象Dockerコンテナを起動する docker run –name [コンテナ名] [コンテナID...
目次1. ダウンロードする前に理解しておくべき概念2. 必要なバージョンを選択する3. MySQLサ...
目次概要単一ファイルコンポーネント基本概念シンプルなローダーコンポーネントコンテンツの解析コンポーネ...
最近、会社初のミニプログラムの開発に参加しました。開発経験は基本的にWebViewをベースとしたハイ...
Linux 操作実験環境: Centos7 仮想マシンまず、共通ユーザーgubeiqingを作成しま...
導入: Lambda Probe (旧称 Tomcat Probe) は、Apache Tomcat...
インターネット技術の発展に伴い、ユーザーはますます Web ページに依存するようになり、Web フロ...
目次序文入力ボックスコンポーネントレイアウトvモデルデータ検証ルール設計形状サブコンポーネントは検証...
目次1. マクロの観点からMySQLを分析する2. SQL ステートメントを実行するには、どの程度の...
ミニプログラムはユーザーの個人情報を収集してアップロードしましたが、拒否されました。こんにちは、ミニ...
この記事の例では、画像デジタル時計を実現するためのJSの具体的なコードを参考までに共有しています。具...
この記事では、ブレッシングカルーセルを実装するためのjQueryの具体的なコードを参考までに共有しま...
Linux システム管理者にとって、サービスがポートに正しくバインドされているか、またはポートをリッ...
ページでビデオ タグを使用する場合は、Ogg Theora または VP8 (これに問題がない場合)...
目次必要データを取得して送信するテンプレートフィルターフィルターの使用シナリオ要約する必要Vue を...