0

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

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 认为它正在显示抽屉。动画在源中明显移动,但屏幕上没有任何内容。

4

1 回答 1

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/

于 2013-01-23T04:50:29.883 回答