在Listviews中平滑可折叠面板的动画

时间:2011-06-17 01:18:40

标签: javascript asp.net ajax animation

我有以下代码来平滑collapsiblepanel上的动画,它的工作非常出色:

<script type="text/javascript">

    function pageLoad(sender, args) {
        smoothAnimation();
    }


    function smoothAnimation() {
        var collPanel = $find(("<%= CollapsiblePanelExtender.ClientID %>"));
        collPanel._animation._fps = 30;
        collPanel._animation._duration = 0.5;
    }

</script>  

现在,我还有一个listview,与上面的面板分开,在每个项目中都有一个可折叠的面板扩展器。我想将“smoothAnimation()”函数应用于它们中的每一个,但我不知道如何做到这一点,因为数据绑定为每个项目提供了唯一的ID。

有人知道如何在javascript中解决这个问题吗?非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

使用OnItemCreated事件,并使用以下内容:

protected void ListItems_Created(object sender, ListViewItemEventArgs e)
{
    CollapsiblePanelExtender cpe = (CollapsiblePanelExtender)e.Item.FindControl("collapsePanelID");
    cpe.Attributes.Add("onload", cpe.ClientID + "._animation._fps = 30;");
    cpe.Attributes.Add("onload", cpe.ClientID + "._animation._duration = 0.5;");

}

此代码尚未经过测试,但您需要完成此操作。