AjaxControl13
Ajax基础14
轻松掌握Ajax.net系列教程十三:使用HoverMenuExtender
本章主要介绍HoverMenuExtender的使用方法。我们以前要做一个js下拉菜单会很麻烦,不但要写很多代码,而且写出来的代码不好管理,扩展性也很难做到很好。但现在我们有了HoverMenuExtender,一切都将迎刃而解,我们的口号是:不编码!
第一步:建立AJAX Control Toolkit Website
本例子只需要一个Panel控件、N个Linkbutton控件和一个HoverMenuExtender组件,把他们都拖进设计界面,代码如下所示:
<asp:Panel BorderWidth=1px ID="Panel1" runat="server" Height="50px" Width="125px" CssClass="panel">
<asp:LinkButton ID="LinkButton2" runat="server">长江一号</asp:LinkButton>
<asp:LinkButton ID="LinkButton3" runat="server">长江二号</asp:LinkButton>
<asp:LinkButton ID="LinkButton4" runat="server">长江三号</asp:LinkButton>
<asp:LinkButton ID="LinkButton5" runat="server">长江四号</asp:LinkButton>
</asp:Panel>
<asp:LinkButton ID="LinkButton1" runat="server">鼠标放上来就能看到HoverMenu啦!
</asp:LinkButton>
在这里LinkButton1主要负责激活下拉菜单,而Panel1则是下拉菜单的载体。
完成控件布局后我们还需要写一个简单的样式,令界面更美观,具体代码如下:
.panel
{
background:#ffcc00;
filter:alpha(opacity=80);
border-width:1px;
border-color:#000000;
font-size:12px;
visibility:hidden;
}
注意:大家可以想象,既然Panel1是下拉菜单的载体,那么当菜单未被激活的时候,Panel1应该是隐藏着的,这些都通过ScriptManager来控制。但当页面第一次加载,Ajax.net的脚本库还没完全加载完毕的时候,Panel1就会处于短暂的失控状态。如果网速较慢,我们会发现Panel1会先出现一下,然后再隐藏起来,这会影响页面的美观。所以我们应该在Panel1的样式上加上visibility:hidden,让Panel1一开始就处于隐藏状态。
第二步:配置HoverMenuExtender
HoverMenuExtender同样是只需配置即可使用的组件,具体配置如下所示:
<ajaxToolkit:HoverMenuExtender
OffsetX="10"
OffsetY="10"
PopDelay="1000"
ID="HoverMenuExtender1"
runat="server"
TargetControlID="LinkButton1"
PopupControlID="Panel1"
PopupPosition="bottom">


