Jqgrid淡出淡出?

时间:2012-03-02 07:28:11

标签: jqgrid fadein fadeout

jqgrid是否支持淡入,淡出,我希望在网格显示和重新加载时淡出淡出,是否有人知道如何制作它?

3 个答案:

答案 0 :(得分:0)

你需要隐藏它的内容或整个网格吗?jqgrid中没有淡入/淡出但你可以使用jquery效果函数来创建这个效果 你可以在onBeforeRequest中设置fadeOut,在loadComplete中设置fadeIn

onBeforeRequest : function(){
  // is used for the whole grid
  $(this).closest('#gbox_'+this.id).fadeOut('slow');

  /*--------- OR ----------*/

  //will fade out only the table inside
  $(this).fadeOut('slow');
},

loadComplete : function(){



  $(this).closest('#gbox_'+this.id).fadeIn('slow');

  /*--------- OR ----------*/

  $(this).fadeIn('slow');

}

答案 1 :(得分:0)

如果你想要视觉效果,Liviu的答案是好的。如果你在加载数据时试图阻止用户与网格的交互,我想在我的网格上做的就是使用BlockUI插件http://jquery.malsup.com/block/#element

我的模式是在ajax调用之前阻塞网格,然后在ajax调用的成功方法上解除阻塞。

答案 2 :(得分:0)

如果您想通知您的用户网格正在加载...(我完全认为这可能是您正在寻找的核心?)...作为fadeIn /的替代方案fadeOut ...

我发现“网格加载”消息并不是通知用户网格正在加载的最佳方式。例如,如果网格有很多行,则消息可能不会出现在视图区域中,并且用户可能正在查看网格中的旧数据(当它正在加载时)而没有实现它...特别是如果服务器处理ajax慢或者查询因任何原因都很慢。这是我做的一件事:

将此事件添加到您的jqgrid设置:

beforeRequest: function(){
    $('#grid tr').addClass('gridLoadingClass');
    $('#grid span').css('color','lightgray');
    $('#grid a').css('color','lightgray');
},

在CSS中的某个地方添加这样的类:

.gridLoadingClass {color:lightgray;}

加载时,网格的内容现在将“灰显”。