私はそれぞれが異なる内容の段落をそれぞれ含む6つのボックスを持っています。文字数制限は200文字に設定されています。 200文字後、ユーザーがShow More
リンクをクリックするまで、残りのコンテンツ(存在する場合)は非表示になります。クリックに隠れていないテキスト
ユーザーがリンクをクリックすると、テキスト表示が文字制限に戻ります。しかし、そうではありません。ユーザーがShow More
リンクをクリックすると、すべてのコンテンツが表示されますが、ユーザーがリンクをクリックすると、コンテンツは縮小しません。
コンテンツの表示と非表示に関する他のSO投稿を見ましたが、自分の問題を解決するために回答を実装した後、私はまだ失われています。これはjQueryを初めて実装したときの1つです。そのような初級レベルで私の混乱を許してください。
がコンテンツを契約していない理由についてのご意見をいただければ幸いです。
<div class="col-md-8" id="article">
<?php
$text = $page->Article_Text;
?>
<script>
$(document).ready(function(){
var readMoreHTML = $(".read-more").html();
var lessText = readMoreHTML.substr(0, 200);
if(readMoreHTML.length > 200){
$(".read-more").html(lessText).append("<a href=''class='read-more-link' style='color:gray; text-decoration:none'>Show More</a>");
} else{
$(".read-more").html(readMoreHTML);
}
$("body").on("click", ".read-more-link", function(event){
event.preventDefault();
$(this).parent(".read-more").html(readMoreHTML).append("<a href=''class='show-less-link' style='color:gray; text-decoration:none'>Show Less</a>");
});
$("body").on("click", ".show-less-link", function(event){
event.preventDefault();
$(this).parent(".read-more").html(readMoreHTML.subtr(0,200)).append("<a href=''class='read-more-link' style='color:gray; text-decoration:none'>Show More</a>");
});
});
</script>
<div class="content">
<div class="read-more">
<?php echo $text ?>
</div>
</div>
</div><!--#article-->
(テスト目的でのみインラインCSSを使用してください)
最初の提案は、ちょうどあなたの終値 ''