2

我正在尝试从后面的代码中显示一个带有动画的面板。面板确实显示但没有动画,这是行不通的:

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

任何帮助表示赞赏。

4

1 回答 1

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 可见时按下Show按钮,则不会发生任何事情。在调用服务器端脚本之前尝试让面板可见,你会明白我的意思。请注意,Panel 控件的 Visible 属性将不起作用,因为这会将元素从 DOM 中完全移除。

于 2013-04-12T21:06:43.733 回答