У меня есть несколько секций, а точнее три, разной высоты с базовой компоновкой:
<section>
<h2>My heading</h2>
</section>
Я ищу способ показать их изначально, но потом, когда пользователь нажимает на <h2>
, чтобы этот раздел уменьшился до высоты 68 пикселей. Основная проблема заключается в том, что каждый раздел имеет разную высоту (т. Е. Первый - 478 пикселей, второй - 2118 пикселей и третий - 247 пикселей), но я не хочу писать отдельную функцию для каждого раздела и надеялся сделать все это один. Он работал нормально, пока я не закрыл первый раздел, и вместо того, чтобы открыть его снова, нажмите на второй раздел <h2>
. Вот тут и начались проблемы. Итак, мой вопрос, есть ли в любом случае, чтобы сделать это, или мне нужна отдельная функция для каждого раздела?
sectionSize = "normal";
$(document).ready(function(){
//var sectionSize = "normal";
$("h2").click(function(){
var parentSection = $(this).parents("section");
if (sectionSize == "normal") {
sectionHeight = parentSection.height();
parentSection.animate({height:"68px"},"fast"),
sectionSize = "collapsed";
} else {
parentSection.animate({height:sectionHeight},"fast"),
sectionSize = "normal";
}
});
});
У меня есть более полная версия http://jsfiddle.net/Skooljester/94yqX/ с дальнейшим уточнением HTML и CSS.