JQuery不会再次滑出

时间:2013-01-23 04:29:47

标签: javascript jquery jquery-ui jquery-selectors

作为我上一个问题的后续跟进,我目前在我的实际网站上有这个代码:

http://jsfiddle.net/3veht/6/

与现场网站完全相同。但出于某种原因,当我打开其中一个抽屉时,它会工作一次(打开和关闭)然后如果我再试一次,它将无法工作。控制台完全没有错误。

如果我重新加载页面,它将再次运行一次,然后不再打开。

为了提供帮助,它正在进入数据发送部分,因为它正在返回数据,它不会在抽屉中向下滑动。

也许有更好的方法来处理独特物品的滑动?以下是上述小提琴的预览:

 $('.patient').click(function(){
                 var pat = $(this);
                 if ($('#drawer').is(':visible'))
                     $('#drawer').slideUp("slow", function () {

                        $('#drawer').slideDown('slow')
                        $('#drawer').load('/echo/js?js=' + pat.data('patientid'));       
                     });
                 else   
                 {
                     $('#drawer').slideDown('slow')
                     $('#drawer').load('/echo/js?js=' + pat.data('patientid'));
                 }
             });

编辑:

默认情况下,抽屉在css中设置为display:none

我还注意到,当抽屉关闭时,它会设置要显示的样式:阻止抽屉。

也许这有帮助......

另外,看看来源,Jquery认为它正在展示抽屉。动画在源中明显移动,但屏幕上没有任何内容。

1 个答案:

答案 0 :(得分:0)

试试这个

     $(".patient").click(function(){
             var pat = $(this);
             if ($("#drawer").is(":visible")) {
                 $("#drawer").slideUp("slow");
                    $("#drawer").load("/echo/js?js=" + pat.data("patientid"));     
            } else  {
                 $('#drawer').slideDown("slow");
                 $('#drawer').attr("style", "display:block");
                 $("#drawer").load("/echo/js?js=" + pat.data("patientid"));
             }
      });

工作示例http://jsfiddle.net/3veht/6/