Nhân bản đối tượng container và viết 2 chữ cái và tính chiều cao. Điều này trả về chiều cao thực với tất cả kiểu được áp dụng, chiều cao dòng, v.v. Bây giờ, hãy tính toán đối tượng chiều cao / kích thước của một chữ cái. Trong Jquery, chiều cao vượt trội so với phần đệm, lề và đường viền, thật tuyệt khi tính toán chiều cao thực của mỗi dòng:
other = obj.clone();
other.html('a<br>b').hide().appendTo('body');
size = other.height() / 2;
other.remove();
lines = obj.height() / size;
Nếu bạn sử dụng một phông chữ hiếm với chiều cao khác nhau của mỗi chữ cái, điều này không hoạt động. Nhưng hoạt động với tất cả các phông chữ bình thường, như Arial, mono, truyện tranh, Verdana, v.v. Hãy thử nghiệm với phông chữ của bạn.
Thí dụ:
<div id="content" style="width: 100px">hello how are you? hello how are you? hello how are you?</div>
<script type="text/javascript">
$(document).ready(function(){
calculate = function(obj){
other = obj.clone();
other.html('a<br>b').hide().appendTo('body');
size = other.height() / 2;
other.remove();
return obj.height() / size;
}
n = calculate($('#content'));
alert(n + ' lines');
});
</script>
Kết quả: 6 Lines
Hoạt động trong tất cả các trình duyệt mà không có chức năng hiếm gặp ngoài tiêu chuẩn.
Kiểm tra: https://jsfiddle.net/gzceamtr/