- оставить открытыми все сообщения
- рассчитать высоту каждой области сообщения
- записать высоту в .data () для каждой области сообщения
- близко
- сотвори волшебство на клике!
JQuery:
$('.m_short_msg').each(function(e) {
var h = $(this).height();
$(this).data('height', h);
});
$('.m_short_msg').css({height: '19px'});
$('.msg_row').click(function() {
var d = $(this).find('.m_short_msg');
check = (d.height() === d.data('height')) ?
d.animate({height: '19px'}) :
( $('.m_short_msg').animate({height: '19px'}) ) ( d.animate({height: d.data('height')}) ) ;
});
EDIT
Используя .animate () вы можете добавить множество анимационных эффектов к вашим элементам из пользовательского интерфейса jQuery.
С помощью этого скрипта вы даже можете ЗАКРЫТЬ открытое сообщение, щелкнув по нему! Поэтому я нахожу это еще более удобным для пользователя.
Еще один «+» этого скрипта - это то, что фактически позволяет пользователю видеть первую строку самого сообщения ... для справки. И это также UserFriendly ™
Если вы планируете использовать «заголовок сообщения» вместо отображения первой строки сообщения, вы можете сделать это:
$('.msg_row').click(function() {
var d = $(this).find('.msg');
check = (d.is(':visible')) ? d.slideUp() : ($('.msg').slideUp())(d.slideDown());
});
Он также проверяет открытые сообщения и имеет возможность ЗАКРЫТЬ открытое сообщение при повторном нажатии.