У меня есть три 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 требует автоматического скрытия и работы с этим кодом.
благодаря
Существует проблема при использовании анимации 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/
var MoreDiv = $(stuff);
используйтеMoreDiv
вместо$(MoreDiv)
для доступа к этой переменной.