<div class="content"> <p>这是一段需要展开收起的文字,可以有很多很多的字,可能会占据很多的空间。因此,在默认情况下,我们只会显示部分文字,而把其余的部分折叠起来。如果需要查看全部内容,可以点击“查看更多”按钮,文字内容就会展开显示了。</p> <button class="btn-more">查看更多</button> </div>
<div>
タグを使用して、展開および折りたたむ必要があるテキスト要素とボタン要素をラップします。 <div>
タグでは、<p>
タグを使用して、展開および折りたたむ必要があるテキスト コンテンツを表示します。テキスト コンテンツの下に、## を使用します。 #< ;button>タグを使用すると「続きを見る」ボタンが表示されます。
.content p { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; /* 设置文字溢出时显示省略号 */ } .content p.is-expanded { overflow: visible; white-space: normal; /* 文字溢出时不再显示省略号 */ } .btn-more { display: block; margin-top: 10px; cursor: pointer; /* 设置鼠标指针为手型 */ }
let isExpanded = false;
要素を取得する必要があります。この要素 ##is-expanded
のクラス。同時に、ボタンのテキストの内容を変更して「Less」または「View More」を表示し、現在のテキストのステータスをユーザーに思い出させます。 const content = document.querySelector('.content');
const btnMore = document.querySelector('.btn-more');
btnMore.addEventListener('click', function() {
const paragraph = content.querySelector('p');
isExpanded = !isExpanded;
if (isExpanded) {
paragraph.classList.add('is-expanded');
btnMore.innerText = '收起';
} else {
paragraph.classList.remove('is-expanded');
btnMore.innerText = '查看更多';
}
});
ログイン後にコピーこのコードでは、まず document.querySelector()<p> メソッドを使用して、展開する必要があるテキストに対応する <p>
要素を取得します。 「View More」ボタンに対応する <button>
要素。次に、ボタン要素にクリック イベント リスナーを追加します。これは、ユーザーがボタンをクリックしたときに起動されます。
イベント リスナーでは、isExpanded<p> 変数のステータスを使用して、現在のテキストが展開されているか折りたたまれているかを判断します。展開状態の場合は、クラス is-expanded
を <p>
要素に追加し、ボタンのテキストを「Collapse」に設定します。代わりに、is-expanded
クラスを削除し、ボタンのテキストを「もっと見る」に設定します。
これまでのところ、テキストの段落の展開および折りたたみ機能を正常に実装できました。ユーザーが「もっと見る」ボタンをクリックすると、展開または折りたたむ必要があるテキストを展開または折りたたむことができ、ページがより簡潔で読みやすくなります。 以上がJavaScript はテキストの展開と折りたたみを実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。