jQuery Accordion:在slideUp / slideDown -is data()解决方案中使用stop()时的高度问题?

时间:2010-11-11 01:07:15

标签: jquery

大家晚上好!

我再次坚持使用自制手风琴。我有一个手风琴,基本上看起来像这样:

<dl>
<dt> <a href></a> </dt>
<dd> Text </dd>

<dt> <a href></a> </dt>
<dd> Text </dd>

<dt> <a href></a> </dt>
<dd> Text </dd>

<dt> <a href></a> </dt>
<dd> Text </dd>

<dt> <a href></a> </dt>
<dd> Text </dd>
</dl>

当你点击一个链接时,先前隐藏的dd位于锚点slideDown后面(分别当另一个dd可见时,这个另外一个slideUp另外如果在锚点后面的dd可见,它只是slideUp-换句话说:只有一个文本同时打开)。它工作得很好,但现在我遇到了以下问题:

多次单击时,动画会排队。

我的解决方案是在动画开始之前使用.stop()。基本上它工作正常,但这会引起一个新问题:元素的高度被锁定在动画停止的值,当我再次调用动画时,它只会衰减到这个高度。

我搜索了网络,似乎有一个解决方案,看起来像这样:

$("#elementId").data('origHeight',$("#elementId").height()); 

这应该“存储”元素的原始高度和

$("#elementId").data('origHeight');

你可以读出这个值。但是如果每个幻灯片元素都有不同的高度,我就不知道如何放置它以及它是如何工作的。

如果有人可以帮我解决这个问题,或者可以提出另一种方法,那将会让我的夜晚和接下来的几天充满活力

1 个答案:

答案 0 :(得分:0)

使用.stop(true,true);ref