非表示にしてからjQuery経由で表示する必要があるdivがあります。
その div 内には、asp テキスト ボックスの透かしエクステンダーが割り当てられた asp テキスト ボックスがあります。
div を表示したままにすると、すべて正常に動作します。ただし、div を非表示にすると、表示時に、テキストボックスをクリックしてクリックするまで透かしエクステンダーは表示されません。
次の方法でdivを表示/非表示にしようとしました:
- 表示: なし; そして .fadeIn('slow'); 経由で表示されます。
- 高さ: 0; .animate({ 'height': '200px' }, "slow"); で表示されます。
いずれの場合も、div が表示されたときに透かしは表示されません。
誰もこの問題に遭遇したことがありますか。この問題を回避するために div を表示/非表示にする jQuery の他の方法はありますか。
<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");
}
}
ありがとう。