动画隐藏的Div但保留asp水印扩展器

时间:2013-02-22 16:19:01

标签: jquery asp.net textbox jquery-animate watermark

我有一个需要隐藏的div,然后通过jQuery显示。

在该div中有一个asp文本框,其中分配了一个asp文本框水印扩展器。

如果我离开显示的div一切正常。但是当我隐藏div时,显示水印扩展器不会显示,直到你点击进出文本框。

我尝试过显示/隐藏div:

  • display:none;然后通过.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" />&nbsp;&nbsp;

            </asp:Panel>
        </div>


function AnimateDivHeight(div, height) {
if ($('#' + div).height() == 0) {
    $("#" + div).animate({ 'height': height + 'px' }, "slow");
}
else {
    $("#" + div).animate({ 'height': '0px' }, "slow");
}

}

感谢。

1 个答案:

答案 0 :(得分:0)

您是否尝试过使用hover()函数? http://api.jquery.com/hover/

我只是通过隐藏第二个div并在悬停时显示它来制作一个子菜单。如果您试图让它显示而不悬停,也许是一个onLoad事件?

以下是我对子菜单所做的事情,如果它有帮助......

$(document).ready(function () {             /* Function to create Sub Menus */


    var speed = 600;                                      //The Variable 'speed' is in milliseconds 
    $('li').hover(function () {               //Hover Function
                                  //Show its submenu            
   $(this).children('.nav2').stop().slideDown(speed);     
        },
        function () {
   $(this).children('.nav2').stop().hide(speed);
   });