Скрыть div на определенной высоте при использовании slidetoggle ()

0

У меня есть три div, и я пытаюсь показать/скрыть div2, когда мы нажимаем на любой div. Пока мне это удалось, но теперь я хочу реализовать некоторую анимацию, пока show.hide div.

Я много пробовал и читал много решений, но из-за того, что я новичок в jQuery, я не могу это сделать. Вот мой код, который я пробовал перед анимацией

http://jsfiddle.net/9Lw6T/119/

$(".more , .expander,.headingopen").click(function() {
var expanderDiv = $(this).parents(".content_item").find(".textContent");

if ($(expanderDiv).length > 0 && $(expanderDiv).hasClass("expander") ) {
    $(expanderDiv).removeClass("expander");
    var MoreDiv = $(this).parents(".content_item").find(".more");
    $(MoreDiv).html("Mindre");
}
else {
    console.log("addclass");
     $(expanderDiv).addClass("expander new");
    var MoreDiv = $(this).parents(".content_item").find(".more");
    $(MoreDiv).html("More");
}
});

jQuery(document).ready(function() {
   jQuery(".more , .expander,.headingopen").click(function() {
            jQuery('.expander').slideToggle("slow");

    });
});

После анимации или slidetoggle

http://jsfiddle.net/9Lw6T/123/

Есть ли способ анимировать divs и остановиться на определенной высоте во время слайд-шоу, как и до анимации, я сделал это с моей первой попытки без анимации. Slidedown требует автоматического скрытия и работы с этим кодом.

благодаря

  • 0
    Здесь вам поможет небольшой код: если вы объявляете переменную, например, var MoreDiv = $(stuff); используйте MoreDiv вместо $(MoreDiv) для доступа к этой переменной.

1 ответ

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

Существует проблема при использовании анимации jQuery для авто, поэтому вам нужно немного поработать (см. JavaScript jQuery Animate to Auto Height)

// get the current height
var curHeight = $textArea.height(); 
// set set the css to auto height and get how tall it is
var autoHeight = $textArea.css('height', 'auto').height(); 
// set the css back to the original height, then animate to the new height
$textArea.height(curHeight).animate({height: autoHeight}, 1000); 

Здесь все вместе http://jsfiddle.net/9Lw6T/127/

  • 0
    @ Uptown Apps Это то, что мне нужно, и вы решили мою проблему. Спасибо за помощь и за весь код. +1
  • 0
    Только один вопрос после div расширенной новой высоты присваивается div, но то, как я могу установить высоту на auto после расширения, не означает ничего конкретного после расширения. Спасибо
Показать ещё 2 комментария

Ещё вопросы

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