Internet Explorer 5.5Internet Explorer 6.0IEXMLAjaxHTMLIntermediateDevVisual StudioJavascriptWindows
简便的客户端 TabStrip
一个丰富的客户端 TabStrip。
引言
TabMenu
是几乎所有Web开发人员都必须处理的组件。在创建具有Visual Studio和组件工具的网站时,我很容易为设计创建一个精美且方便的TabMenu
。那么,如何使用JavaScript创建具有类似功能的TabMenu
,就像我们在ASP.NET中使用组件一样呢?然而,这是一个不同的故事。
本文旨在为用户提供一种最佳方法,以拥有一个功能最多、代码最少的TabMenu
,特别是允许用户定义TabMenu
将提供的功能。
Using the Code
所有用户只需将此代码行插入到他们想要TabMenu
出现的位置
<div id="coolTab1" MultiPageID="Pages" SiteMap="tabData.xml" ImageUrl="images/"
ClientSideOnLoadCompleted="onLoadComplete" ClientSideOnClick="onClick"></div>
以及如下的脚本代码
window.onload = function() { arrTab = preInitCoolTab("coolTab1"); }
现在,我们将讨论TabMenu
的参数
id
:TabMenu
的唯一标识符,此id
将用于函数preInitCoolTab
。请注意,如果需要,您也可以拥有多个标签。假设您有两个如上定义的
div
标签,它们的id
分别为coolTab1
和coolTab2
,您只需将标签的id
添加到函数preInitCoolTab
中。arrTab
是包含所有返回的CoolTab
对象的数组。arrTab = preInitCoolTab("coolTab1", "coolTab2"); // arrTab has 2 CoolTab objects. You can access them: arrTab[0] and arrTab[1]
MultiPageID
:如果您想使用Tab
来控制multiPage
中包含的对象,每个标签项将指向一个页面,您只需将multiPage
的id作为CoolTab
的初始化参数。我使用每个div标签作为分隔符来分隔multiPage
中的“页面”。ImageUrl
:用于CoolTab
中的图像文件夹的链接ClientSideOnLoadCompleted
:以非同步方式工作的事件,当从XML文件读取数据的过程完成且CoolTab
被渲染后,它将被触发。用户可以定义加载完成后要执行的函数。ClientSideOnClick
:当点击TabItem
时出现的事件。同样,用户可以设计函数来控制当点击TabItem
时将发生的操作。SiteMap
:在这里,我使用XML文件来创建CoolTab
的TabItem
。SiteMap显示XML文件的链接。XML文件中的信息将如下使用<Tabs> <TabItem ID="aspx" Text="ASPX File" LeftIcon="i_aspx.gif" Selected="true" Enabled="true" Target="frame1" NavigatorUrl="google.com"/> <TabItem ID="xml" Text="XML File" LeftIcon="i_xml.gif"/> <TabItem ID="css" Text="CSS File" LeftIcon="i_css.gif"/> <TabItem ID="cs" Text="CS File" LeftIcon="i_cs.gif" /> <TabItem ID="vb" Text="VB File" LeftIcon="i_vb.gif"/> </Tabs>
让我们看一下第一个TabItem
(对象)。最重要的属性已提供
Selected = true/false
:显示哪个默认TabItem
最初被选中Enabled = true/false
:显示此TabItem
的状态NavigatorUrl
:如果存在此属性,TabItem
将有一个链接,并附带链接将在其中加载的目标。Target
:显示链接的目标。此外,您可以定义附加属性,并且可以使用以下方式访问在XML文件中定义的属性。例如<TabItem ID="id" Text="text" LeftIcon="icon.gif" YourAttribute="Value"/>
假设这是
CoolTab
(对象)的第一个TabItem
Var oCoolTab = arrTab[0]; alert(oCoolTab.items[0].Keys["YourAttribute"]);
类成员
CoolTab 类
属性
DataSource
:URL或XML文档的虚拟路径items
:TabItem
的集合MultiPage
:保存被调用的多页面的IDImageBaseUrl
:图像文件夹的虚拟路径defaultCss
:应用于当前TabItem
的CSS的className
hoverCss
:应用于当前TabItem
的CSS的className
selectedCss
:应用于当前TabItem
的CSS的className
disabledCss
:应用于当前TabItem
的CSS的className
方法
DataBind
:将数据源绑定到被调用的控件及其所有受控子项AddItem
:将新的TabItem
添加到CoolTab
中除了使用XML文件中的数据创建
TabItem
外,用户还可以使用CoolTab
(对象)的AddItem
函数在运行时创建其他项。Var oCoolTab = arrTab[0]; Var oTabItem = new TabItem(); //initialize(id, caption, selected, enabled, url, target, leftIcon, parent) oTabItem.initialize("newTabItemID", "Caption", false, true, "http://microsoft.com", "frame1", "nothing.gif", oCoolTab); oCoolTab.AddItem(oTabItem);
FindTabItemById
:通过其ID
查找TabItem
事件
TabItemClickEvent
:在点击CoolTab
中的项时触发LoadCompleteEvent
:在CoolTab
完成加载数据时触发
TabItem 类
属性
selected
:此项是否被选中enabled
:此项是否启用parent
:对包含TabItem
的CoolTab
的引用index
:此项在CoolTab
列表中的索引target
:目标lnk
:此项的navigatorUrl
label
:显示文本
方法
SetEnabled
:将项设置为启用或禁用模式以下示例将说明如何将
CoolTab
的第一个TabItem
设置为禁用状态。Var oCoolTab = arrTab[0]; oCoolTab.items[0].SetEnabled(false);
ResetCss
:将项的类名重置为默认值Actived
:TabItem
处于激活模式DeActived
:TabItem
处于非激活模式
事件
TabClickEvent
:在点击TabItem
时触发
历史
这是我的第一篇文章。如果您觉得有用,请投我一票。
附注:感谢Tuan NA先生提供的XML.js,以便在Mozilla浏览器中处理XML文件。
并感谢Nhung女士,我非常爱你。