Скрыть / показать div с начальным частичным просмотром

0

http://jsfiddle.net/7RDBk/1/

В настоящее время у меня есть функции slideUp и slideDown, чтобы скрыть и показать div. Я пытаюсь получить 25px, показывая сначала, пока он не расширится и не вернется к 25px при щелчке. Я бы подумал, что это будет прямо, но я не могу найти способ проверить атрибут в инструкции if, чтобы проверить, расширилось ли оно или нет, прежде чем знать, нужно ли продвигаться вверх или нет.

 if($(this).prev().is(':hidden') == true) { ..

т.е. изменить на

 if($(this).prev().height() == 25) { ..

Я проверял атрибуты CSS и переполнение, но они, похоже, не работают. Я не могу действительно добавлять классы в этот момент или обернуть его любым родительским div, возможно ли это с этими двумя divs в зависимости от скрипки?

  • 2
    " I'm trying to get 25px showing initially before it expands and goes back to 25px on click " . Я потерян в этой точке.
  • 0
    Я обновил вашу скрипку (см .: jsfiddle.net/7RDBk/2 ), «Показать меньше». текст будет отображаться сейчас. (вам не хватало точки с запятой)
Показать ещё 2 комментария
Теги:

1 ответ

3
Лучший ответ

Один из способов сделать - использовать функции jQuery animate и data, например

http://jsfiddle.net/H9LzU/

$('.readMoreTrigger').click(function () {
     if ($('.readMoreContent').data('shown')) {
         $(this).text('Read more..');
         $('.readMoreContent').animate({
             "height": "25px"
         }, 'fast');
         $('.readMoreContent').data('shown',false);
     } else {
         $(this).text('Read less..');
         $('.readMoreContent').animate({
             "height": $('.readMoreContent').data("orig_height")
         }, 'fast');
         $('.readMoreContent').data('shown',true);
     }
     /*$('.readMoreContent').slideUp('fast');
        if($(this).prev().is(':hidden') == true) {
            $(this).prev().slideDown('fast');
            $(this).text('Read less..')
        }*/
 });
 /*$('.readMoreContent').hide();*/
 $('.readMoreContent').data("orig_height", $('.readMoreContent').css("height")).css({
     height: "25px"
 });
  • 0
    Хорошо, я не понимал, что данные могут быть использованы таким образом. Благодарю.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню