0

我有一个需要隐藏然后通过 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" />&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");
}

}

谢谢。

4

1 回答 1

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);
   });
于 2013-02-22T16:32:12.640 回答