在Jquery的getJson()回调函数中使div可见

时间:2012-01-17 20:14:05

标签: jquery css ajax json httphandler

我正在尝试使用jquery在弹出式div上发布一些数据,它假设要填充它通过httphandler获取的数据

对自己的处理程序的调用已配置并且运行良好。 问题是使用jquery在UI上发布数据。

问题:

通过脚本调用处理程序:第一种方法

   function GetProducts(id){                   
        $.getJSON("ProductDetails", id, function (data) {
                var div = $('#ProductDetails');  
                div.css('visibility', 'visible'); 
        } );
   }           

css文件:

         #ProductDetails 
         {
              visibility:hidden;
              border: 1px solid black;   
              position:absolute;
              left:50%;
              top:50%;
              width:150px;     
              height:150px; 
         }

由于某种原因,这根本不会影响div,并且它不会变得可见。

第二种方法:

电话:

         $(document).ready(function () {
              $('#ProductDetails').addClass('hidden');
         });

         function Get_Product_Details(btn) {
              $.getJSON("ProductDetails", id, function (data) {
                    var div = $('#ProductDetails');           
                    div.removeClass('hidden');
                    div.addClass('show');            
               });
         }

css:

         .hidden
         {
              visibility:hidden;
         }
         .show
         {
              visibility:visible;   
         }  

这个接缝在调试时工作一秒钟,直到发生回发并制作页面 再次隐藏,我猜是因为在

上执行了代码
         &(documnet).ready(......)

如何制作出现在$ .getJson回调中的弹出式div?

1 个答案:

答案 0 :(得分:2)

在隐藏的div上,只需使用:

<div id="A" style="display:none">...</div>

然后您可以使用以下方式显示它:

$('#A').show() or $('#A').hide()