jQuery手风琴 - 快速显示/隐藏

时间:2013-02-28 16:54:27

标签: jquery-ui jquery

我有一个包含搜索条件的手风琴页面。一旦有人点击搜索按钮,标准就会关闭(我模拟手风琴标题上的点击)。这很有效。

问题是当用户提供无效输入时,我的AJAX调用返回并且我尝试在手风琴完成关闭之前再次显示搜索条件(再次通过模拟点击手风琴标题)。这当然无法打开搜索条件。

一个简单的例子就是双击手风琴标题。如果手风琴在双击期间处于转换状态,则没有任何反应。

如何在我的情况下避免这种情况?注意:Chrome / FF中的问题似乎比在IE中更为严重,因为IE没有为手风琴打开/折叠设置动画。

代码中的基本思想,其中#section1代表手风琴标题:

$("#section1").click();
//some very fast AJAX.
$("#section1").click();

JS小提琴:http://jsfiddle.net/mikeyfreake/gGaJn/2/

谢谢, 麦克

2 个答案:

答案 0 :(得分:2)

对手风琴的孩子们打电话stop

$("#accordion").children().stop(true, true);

http://jsfiddle.net/gGaJn/9/

答案 1 :(得分:1)

在Ajax调用中使用async: false参数。这将使Ajax调用在第二次单击之前完成执行。

http://api.jquery.com/jQuery.ajax/

或者您可以在success功能中执行第二次点击:

$.ajax({
    success: function (data) {
        $("#section1").click();
    },
   ...
});