アフィリエイト広告を利用しております。
参考サイトの記載がある場合はそちらの方がより詳しく記載説明がされているのでぜひそちらもご覧ください。
そのままコピペしても反映されないものもあります。サイトごとに変えないといけない箇所がありますので修正してください。

CSS HTML JavaScript

「続きを読む」を押すと下にサッと文字が出てくる処理(JavaScript)

「続きを読む」を押すと下にサッと文字が出てくる処理の実装です。
JavaScriptを使って実装させております。
文章はChatGPTに頼んだ…
JavaScriptの[offset_height]は「details-border-box」に上下に合わせて20px分padding入れてる分を調整している

続きを読む

「日本語が含まれていない場合のみ処理を進めるように条件を追加しました。これにより、誤って不必要なデータを抽出しないようにしています。この処理を完了した後、次に実装するべき機能として、抽出結果を自動的にフィルタリングして重複を除去するロジックを追加する予定です。さらに、エラーハンドリングを強化することで、異常時に適切なメッセージを表示し、処理の中断やリトライを柔軟に行えるように改善したいと考えています。」

document.addEventListener('DOMContentLoaded', function() {
	// 全ての詳細表示の要素について処理を行う
	var detailLinks = document.querySelectorAll('.show-details');
	detailLinks.forEach(function(detailLink) {
		detailLink.addEventListener('click', function() {
			var detailsElement = this.nextElementSibling;
			var offset_height = 20;
			// 現在の表示状態を確認して、反転させる
			if (detailsElement.style.maxHeight) {
				detailsElement.style.maxHeight = null; // リセット
			} else {
				detailsElement.style.maxHeight = detailsElement.scrollHeight + offset_height + 'px'; // 高さを設定
			}
		});
	});
});
.show-details {
    cursor: pointer;
    color: blue;
    text-decoration: underline;
    display: inline-block;
}
.details {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out;
}
.details-border-box {
    border: 1px solid #000000;
    padding: 10px;
    line-height: 1.5;
    font-size: 1.0rem;
}

おすすめ記事

1
制作理由 ワードプレスのクラシックエディタを直接使っているといつも思うことがありました [Tab]キー押して空白入れて見やすくインデントしたい! この記事を書くまでは入れないか、スペースキーを押して誤 ...
2
制作理由 ワードプレスのクラシックエディタを直接使っているといつも思うことがありました コード追加ボタンを自由に追加出来たら便利じゃない? この記事を書くまでは、クリップボード貼り付けアプリ[Clib ...
3
アプリ制作するに至った理由 納品代行の仕事をしていて思ったことがあります 納品代行をしていると本当に様々なお客様から様々な商品が届きます その中でも特に注意しているのが、「見た目ほぼ同じだけど違う商品 ...

-CSS, HTML, JavaScript
-