Я создал тег h2, а использование jQuery превратило его в одну из кнопок. При нажатии скрытое содержимое будет скользить вниз под этой кнопкой. Моя проблема заключается в последовательности эффектов, я не могу заставить их приурочить правильно.Последовательность эффектов для jQuery clickable element
Вот как я хотел бы, чтобы это выглядело:
Кнопка имеет закругленные углы. Когда вы нажимаете, закругленные углы на нижней части удаляются, поэтому похоже, что скрытый контент скользит из нижней части кнопки.
При повторном нажатии кнопки содержимое перемещается вверх в кнопку. Когда содержимое закончит движение вверх, кнопка возобновит внешний вид всех закругленных углов.
На моем jfiddle mockup есть 2 примера кнопок. Пример 1 работает с первым щелчком, но кнопка становится круглой, пока содержимое не вернется назад при повторном нажатии.
При нажатии кнопки «Пример2» кнопка остается круглой, когда содержимое открывается. Но при повторном нажатии, чтобы скрыть содержимое, последовательность работает в правильном порядке.
Вот суть:
$('.section').hide();
$('.example1').click(function(event) {
event.preventDefault();
$(this).next().slideToggle('slow')
.prev().toggleClass('open-header');
});
$('.example2').click(function(event) {
event.preventDefault();
$(this).next()
.slideToggle('slow')
.queue(function(next) {
$(this).prev().toggleClass('open-header');
$(this).dequeue();
});
});
Я хочу, чтобы объединить рабочие части каждой кнопки, но я не знаю, как. Я читал другие сообщения об использовании .queue() или callbacks, но я не должен знать, что я делаю, потому что я не могу заставить его работать. Какие-либо предложения?
Вы можете использовать [jQueryUI в Аккордеон] (http://jqueryui.com/accordion/#collapsible). – Dom
Спасибо, Дом, это хорошее предложение. Я займусь этим. Но я также хотел бы узнать, как я могу заставить свой пример работать. – JeremyH