我设计了一个 h2 标签,并使用 jQuery 将它变成了一个按钮。单击时,隐藏的内容将从该按钮下方滑落。我的问题是效果的顺序,我无法让它们定时正确。
这是我希望它看起来的样子:
该按钮有圆角。单击时,底部的圆角会被移除,因此看起来隐藏的内容正在滑出按钮的底部。
再次单击按钮时,内容会向上滑入按钮中。当内容完成向上滑动时,按钮恢复其所有圆角的外观。
在我的jfiddle 模型上有 2 个示例按钮。示例 1 适用于第一次单击,但在再次单击时内容滑回之前按钮变为圆形。
单击 Example2 时,按钮会随着内容滑出而保持圆形。但是当再次单击以隐藏内容时,序列以正确的顺序工作。
这是要点:
$('.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() 或回调的帖子,但我一定不知道我在做什么,因为我无法让它工作。有什么建议么?