我有一个需要隐藏然后通过 jQuery 显示的 div。
在该 div 中有一个 asp 文本框,并为其分配了一个 asp 文本框水印扩展器。
如果我让 div 显示一切正常。但是,当我隐藏 div 时,水印扩展器在您单击进出文本框之前不会显示。
我尝试通过以下方式显示/隐藏 div:
- 显示:无;然后通过 .fadeIn('slow'); 显示
- 高度:0;然后通过 .animate({ 'height': '200px' }, "slow");
在每种情况下,当 div 出现时,水印都不会显示。
有没有人遇到过这个问题。jQuery 中是否还有其他方法可以显示/隐藏 div 以解决此问题。
<asp:ImageButton ID="btnFilter" runat="server" ImageUrl="mmmmmmmmmmmmm" OnClientClick="AnimateDivHeight('divFilter', 150)" />
<div id="divFilter" style="height: 0px; overflow: hidden;">
<asp:Panel ID="pnlListsFilters" ClientIDMode="Static" runat="server">
<asp:TextBox ID="txtListsFilterSearch" runat="server" CssClass="formfield" Width="220" AutoPostBack="true" />
<asp:TextBoxWatermarkExtender id="tbweListsFilterSearch" runat="server" WatermarkCssClass="formfield-watermarked" WatermarkText="e.g. created by, tags, title" TargetControlID="txtListsFilterSearch" />
</asp:Panel>
</div>
function AnimateDivHeight(div, height) {
if ($('#' + div).height() == 0) {
$("#" + div).animate({ 'height': height + 'px' }, "slow");
}
else {
$("#" + div).animate({ 'height': '0px' }, "slow");
}
}
谢谢。