如何使用RegisterStartupScript和c#中的jquery显示带动画的Panel?

时间:2013-04-12 19:06:53

标签: c# jquery asp.net

我正在尝试使用动画显示背后代码中的面板。面板确实显示但没有动画,这是不起作用的行:

Page.ClientScript.RegisterStartupScript(this.GetType(), "ScriptBlock", "$(document).ready(function(){$('#" + pUserActions.ClientID + "').show(\"slow\" );});", true);

感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

问题是,在PostBack后面板(或div)已经可见,如果元素已经可见,则.show()不起作用。试试这个例子:

HTML:

<div style="background-color:red; width:100px; height:100px"></div>
<input type="button" value="Show" id="btnShow" />
<input type="button" value="Hide" id="btnHide" />

JS:

$("#btnShow").on("click",function(){$("div").show("slow");});
$("#btnHide").on("click",function(){$("div").hide("slow");});

小提琴:http://jsfiddle.net/hescano/VY9jt/

正如您所知,如果您在div显示时按显示按钮,则不会发生任何事情。在调用服务器端脚本之前尝试使面板可见,您将看到我的意思。请注意,Panel控件的Visible属性不起作用,因为这会从DOM中删除该元素。