Gần đây tôi đã làm việc trên một tính năng nhận xét. Theo mặc định, chiều cao của phần tử đoạn văn bản chứa 80px. Luồng tràn được đặt thành ẩn.Cách hiển thị phần tử con khi phần tử con khác tràn ngập với JQuery
Tôi có một nút khác (có nhãn "Xem thêm") mở rộng đoạn văn bằng cách thay đổi chiều cao thành 'tự động'. Nút này chỉ nên hiển thị nếu nội dung đoạn đang tràn chiều cao 80px mặc định. Nếu không, nút không được hiển thị.
Tôi đã cố gắng thực hiện điều này bằng javascript cho vòng lặp và một số mã JQuery, mặc dù nó không hoạt động như mong muốn. Nó cho thấy hoặc ẩn nút cho tất cả các phần bình luận.
Đây là html:
<div class="commentOwnerPost">
<div class="commentPostHeader">
<h4 class="commentOwnerName"><a href="">NavyFoxKid</a></h4>
<h4 class="commentPostDate">3 days ago</h4>
</div>
<p class="commentText"> lorem ipsum dolor sit amet consectur lorem ipsum dolor sit amet consectur
\t amet consectur lorem ipsum dolor sit amet consectur lorem ipsum
</p>
\t
<div class="commentPostFooter">
<a class="btnReply">Reply</a>
<a class="btnSeeMore">See More</a>
</div>
</div>
Đây là JavaScript:
$(document).ready(function(){
var element = $('.commentOwnerPost');
for(i=0; i < element.length; i++){
var commentText = $(element[i]).children('.commentText');
if ($(commentText).offsetHeight < $(commentText).scrollHeight) {
$parent = $(commentText).parent('.commentOwnerPost');
$parent.find('.btnSeeMore').hide();
console.log('Comment text not overflowing ');
} else {
$parent = $(commentText).parent('.commentOwnerPost');
$parent.find('.btnSeeMore').show();
console.log('Comment text overflowing ');
}
$('.btnSeeMore').click(function(){
\t \t \t
});
}
});
Cảm ơn đã dành thời gian để đọc . Bất kỳ trợ giúp sẽ được đánh giá cao.
' "tràn đầy JQuery"' nên SO của tagline –
tôi sẽ không cố gắng "phát hiện" tràn, vì nó là một rắc rối và sử dụng rất nhiều tài nguyên so với những gì bạn đạt được. Có lẽ bạn có thể đơn giản hóa vấn đề của bạn, ví dụ, bằng cách tính toán chiều dài văn bản đoạn thay vì một xấp xỉ khá tốt. – Piwwoli
Có thể trùng lặp của [Tôi có thể phát hiện sự kiện tràn trong jquery không?] (Http://stackoverflow.com/questions/10431659/can-i-detect-an-overflow-event-in-jquery) – Piwwoli