我有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>
答案 0 :(得分:1)
GridView有多大?
这可能是因为GridView本质上是一堆构建表的HTML标记。如果表非常大,浏览器必须等待渲染整个表(必须首先渲染整个表(即使是对用户隐藏) - 然后动画应该清理顺畅