我正在尝试从后面的代码中显示一个带有动画的面板。面板确实显示但没有动画,这是行不通的:
Page.ClientScript.RegisterStartupScript(this.GetType(), "ScriptBlock", "$(document).ready(function(){$('#" + pUserActions.ClientID + "').show(\"slow\" );});", true);
任何帮助表示赞赏。
问题是在 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 中完全移除。