可折叠面板平滑动画 - 无法正常工作

时间:2013-12-26 16:33:28

标签: c# collapsiblepanelextender

我有2个Ajax collapsiblePanels一个在另一个之下。 第一个在其中有一个转发器,第二个有一个gridview。两者的JS函数完全相同。问题是,动画对于第二个动画是平滑的,但不是第一个动画。我甚至尝试为fps和持续时间设置极值,但甚至没有预算,好像它们根本不适用于它。可能是什么原因。

JS:

function pageLoad()
{
  var collPanel = $find("<%=CollapsiblePanelExtender1.ClientID%>");
  if(!collPanel) {return;}
  collPanel._animation._fps=35;
  collPanel._animation._duration=0.3;
}

ASPX:

<div id="pHeader" runat="server" class="cpHeader">

  <span style="float:left"> History </span>
  <span style="float:right"><asp:Image id="imgArrows" runat="server" 
   width="17px" height="17px" ImageAlign="middle"/></span>
  <div style="clear:both"></div>
</div>

<asp:Panel id="pBody" runat="server" height="200px" width="100%" 
 scrollbars="vertical"  class="cpBody">

<asp:Repeater runat="server" id="rphistory">....</asp:repeater>
</asp:panel>

<asp:CollapsiblePanelExtender id="CollapsiblePanelExtender1" runat="server" 
 targetcontrolid="pBody" collapsecontrolid="pHeader"
expandcontrolid="pHeader" collapsed="true" collapsedsize="0"
 scrollcontents="false" imagecontrolid="imgArrows" 
  expandedimage="~/Images/expand.jpg" collapsedimage="~/Images/collapse.jpg">
</asp:CollapsiblePanelExtender>

1 个答案:

答案 0 :(得分:1)

GridView有多大?

这可能是因为GridView本质上是一堆构建表的HTML标记。如果表非常大,浏览器必须等待渲染整个表(必须首先渲染整个表(即使是对用户隐藏) - 然后动画应该清理顺畅