`
menjoy
  • 浏览: 422142 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

利用JScript/CSS 编程技术模拟实现TABView控件

阅读更多
        熟悉可视化界面编程的朋友一定很熟悉各种控件。在所有的控件中有一个控件在数据库应用编程中
经常用到,这个控件就是TabView控件,当然也可以叫属性页(PropertyPage)。本文将利用JScipt结合CSS
技术在网页中模拟实现这个控件。

        现在先介绍一下界面的主要组成部分。根据对TabView控件的分析理解,我把界面分成两个部分。一是
Tab部分(或者叫页面控制部分),一是页面部分(或者叫内容部分)。同时为了本文描述简单,TAB控制部分
的每个TAB只有两种状态(激活或者非激活),每个TAB控制一个单独的页面。同时为了使用的灵活性原因,
页面设计这个任务应该由用户自己来完成设计,但是要符合一定的格式要求。

现在正式开始解释这个控件的实现要素和实现过程。
//////////////////////////////////////////////////////
////////       实现要素部分         //////
//////////////////////////////////////////////////////
[要素一]控件使用的主要样式列表
.TabActive {
 color: #ffff00;
 font-family:宋体;font-size:9pt;
 font-weight: bold;
 background-color: #6699CC;
 cursor: default; 
 border-top: 2px outset #99ccff;
 border-right: 2px outset #336699;
    }
//上面是Tab处于激活状态时使用的样式
.TabInactive {
 color: #FFFFFF;
 font-family:宋体;font-size:9pt;
 font-weight: normal;
 background-color: #003366;
 cursor: hand;
 border-right: 1px solid #99ccff;
 border-bottom: 1px solid #99ccff;
    }
//上面是Tab处于非激活状态时使用的样式
.PageNT {
 background-color:#F5F0E6;
    width:100%;height:508px;
    padding-left:0px;padding-top:2px;
      } 
//上面是Tab控制的页面使用的样式
[要素二]动态生成TAB控制部分代码
 这个部分功能主要由多个TAB控件控制说明数组和一个函数组成。
 
 数组采用下面的形式:
 //Tab部分TabID     Tab部分的初始运行类类型     Tab部分对应的页面pageID 
 var Folder1=new Array("Tab1","TabActive","Page1");
 
 //这里请注意:程序把第一把Tab部分的初始运行类类型定义为TabActive的项目选择为
 //默认的选择项,其对应页面也作为默认显示页面。
 
 ********************重要提示**************************
 
 //但是为了简单,实际上也符合逻辑,应该所有定义中只有一个控制初始化
 //运行类类型定义为TabActive
 
 //下面这个函数根据数组生成TABView的控制部分。
 function CreateFolder()
 {
 ...
 };
 [具体请参阅文后源代码]
 
[要素三]TabView控件的功能模拟
 正如上面所讲的那样,本文尽可能把代码写的简单,把实现说的更容易理解一点。
 所以这个模拟控件没有实现mouseover以及mouseout时间响应,同时我也没有使用
 更新的HTC组件技术。我下篇文章会写一个组件的例子。
 
 本文在TABView控件的TAB控制部分生成以后只是简单为其提供一个click事件处理器。
 这样就可以模拟了真正TABView控件的换页功能。页面部分用户根据下面的规则按照
 自己对页面内容的需要自己添加。下文我会在实现过程部分对此有详细的说明。
 

//////////////////////////////////////////////////////
////////                 实现过程部分           //////
//////////////////////////////////////////////////////
[步骤一]建立TABView控件的控制数组定义

var Folder1=new Array("Tab1","TabActive","Page1");

var Folder2=new Array("Tab2","TabInActive","Page2");

...

[步骤二]动态生成TABView控件的控制部分

调用函数CreateFolder()读取数组定义按照格式生成TABView控件的控制部分。


[步骤三]用户生成自己的页面(可以静态也可以是动态。本文示例为静态)

 //下面是页面要求的格式
 

 

[步骤四]为TABView控件的控制部分中的每一个TAB安装事件处理器

tab.attachEvent("onclick",new Function("tab_onclick(this)"));


到这里利用JScript/CSS模拟实现简单TABView控件的工作就全部结束了。

现在可以在IE浏览自己的控件了,感觉不错吧。

//////////////////////////////////////////////////////
////////                 结束语                 //////
//////////////////////////////////////////////////////
 本文只是简单模拟一下TABView控件,要真正在WEB下面实现一个TABView要考虑
很多其他的因素,不如上面提供的TAB控制部分onmouseover,onmouseout等事件
的响应问题。同时随着XML技术的发展,我们可以更好的利用数据库结合服务器
端软件动态生成TABView的控制页面。同时如果我们采用HTC组件技术的话,我们
也可以写出可重用性更高的代码。

//////////////////////////////////////////////////////
////////         本文使用全部源代码              //////
//////////////////////////////////////////////////////
为了方面我把所有的文件都放在了一个文档中了。你根据需要可以
把javascript/jscript以及css,htm文件各自独立出来。


<!---->



<meta content="EditPlus" name="Generator">
<meta content="" name="Author">
<meta content="" name="Keywords">
<meta content="" name="Description">
<style type="text/css">

    .titlebar {font-family:宋体; font-size:9pt;color:#003300;background-color:#99CC99}
  BODY {font-family:宋体;font-size:9pt; background-color:#F5F0E6;}

    .TabActive {
 color: #ffff00;
 font-family:宋体;font-size:9pt;
 font-weight: bold;
 background-color: #6699CC;
 cursor: default;
 
 border-top: 2px outset #99ccff;
 border-right: 2px outset #336699;
    }
    .TabInactive {
 color: #FFFFFF;
 font-family:宋体;font-size:9pt;
 font-weight: normal;
 background-color: #003366;
 cursor: hand;

 border-right: 1px solid #99ccff;
 border-bottom: 1px solid #99ccff;
    }
    .TabInactiveOver {
 color: #FFFFFF;
 font-family:宋体;font-size:9pt;
 font-weight: normal;
 background-color: #003366;
 cursor: hand;

 border-right: 1px solid #99ccff;
 border-bottom: 1px solid #99ccff;
    }
    .TabInactiveEmpty {
 color: #FFFFFF;
 font-family:宋体;font-size:9pt;
 font-weight: normal;
 
 cursor: hand;

 border-right: 1px solid #99ccff;
 border-bottom: 1px solid #99ccff;
    }  
   

    .TabBarNT {background-color:#EEEEEE;

        width:96%;height:21px;}
    .PageNT {
 background-color:#F5F0E6;

        width:100%;height:508px;
        padding-left:0px;padding-top:2px;
      }

</style>
<script language="JavaScript">
<!---->
</script>

<script language="JavaScript">
<!---->
</script>

<script language="JavaScript">
<!---->
</script>
<script language="JavaScript">
<!---->
</script>




This Test Page : Page One


Name Age
ZosaTapo 23

 

 

 

 



 



 

分享到:
评论

相关推荐

    SwiftUI编程实现不同TabView标签页中任意导航层级视图之间相互跳转的演示代码

    该资源是 编程实现不同TabView标签页中任意导航层级视图之间相互跳转&gt;&gt; 博文的配套源代码,博文链接地址如下: https://blog.csdn.net/mydo/article/details/123754090 在本篇博文中,您将学到以下内容: 如何实现...

    用VC实现的tabview

    【标题】"用VC实现的tabview" 是一个基于Microsoft Visual C++(VC++)开发的项目,旨在创建一个TabView组件,它允许在单一视图内嵌套多个子窗体,提供类似浏览器标签页的功能。这样的设计可以有效利用屏幕空间,...

    Flex 轻量级的tabView控件

    从老外的一个庞大的工程里摘出来一个组件。原项目是一个air的as3和flex的编辑器。做了一些改动 1.标签菜单使用PopUpManager方式弹出,方便关闭,监听FlexMouseEvent.MOUSE_DOWN_OUTSIDE就可以了。...

    Visual C++中TabView的多种实现方法

    #### 方法一:利用CTabCtrl控件实现TabView **CTabCtrl**是Microsoft Foundation Class (MFC) 类库中的标准控件之一,专门用于创建标签窗口。通过处理消息`TCN_SELCHANGE`并调用函数`GetCurSel()`和`SetCurSel()`等...

    TabView的horizontalview实现

    首先,要实现`horizontal`的`TabView`,开发者通常会利用`UICollectionView`或者`UIStackView`,因为它们都支持自定义布局。`UICollectionView`更灵活,适合复杂的布局需求,而`UIStackView`则相对简单,适用于基础...

    ios的collection控件的自定义布局实现与设计

    collection控件用来实现界面的各种自定义布局,最常用其作为横向、竖向的布局控件。很早之前,系统对于collection的支持并不是很好。所以自己实现了支持自定义布局、自定义cell的collection控件。自定义的collection...

    mfc 自绘控件实现 竖排TAB sheet控件

    本教程将详细介绍如何利用MFC自绘控件来实现竖排的TAB sheet控件,并且在每个选项卡上添加图标。 首先,我们需要创建一个继承自CPropertySheet的类,例如命名为`CMyPropertySheet`。`CPropertySheet`是MFC中用于...

    tabview动态实现视图标签页面+窗口分割+treeview显示内容+动态添加控件+在视图里面画图,带皮肤文件

    包含主要内容:tabview实现视图标签页面+窗口分割+treeview显示内容+动态添加控件+在视图里面画图+链表存储+orale数据库(此程序未带,带了你就运行不了了),可以咨询本人,里面有联系方式)+带皮肤文件 ...

    QML-TabView竖直方向

    在这个特定的场景中,我们关注的是`TabView`在竖直方向上的实现,即标签是垂直排列的,而不是传统上常见的水平排列。这在某些设计中可能是更理想的选择,例如当空间有限或者为了提供独特的用户体验时。 `TabView`的...

    多选TabView的实现

    在本示例"多选TabView的实现"中,我们将会探讨如何通过重写`UITableViewCell`的布尔值属性来扩展`UITableView`,使其具备多选功能。 首先,我们要创建一个自定义的`UITableViewCell`子类,比如叫做`...

    tabview实现源码 mfc

    "Tabview实现源码 MFC"是关于如何使用MFC来创建一个带有标签控件(TabCtrl)的用户界面,使得用户可以通过不同的标签页在多个视图(View)之间进行切换。这种设计常见于许多应用中,如设置窗口、多文档界面(MDI)...

    多文档的Tabview示例

    标题“多文档的Tabview示例”揭示了我们将探讨如何在多文档界面(MDI,Multiple Document Interface)中利用Tab控件来创建一个类似浏览器多窗口的用户体验。 首先,MDI是一种应用程序设计模式,允许用户在同一应用...

    自定义 tabview(滑动的 tab)

    自定义tabView;主要实现可以丝滑的滑动切换tab

    TabView的例子

    在这个"TabView的例子"中,我们将深入探讨如何使用HTML、CSS和JavaScript(通常配合jQuery或其他库)来实现这样的功能。 首先,HTML是构建页面结构的基础。在HTML代码中,你需要创建一系列的`&lt;div&gt;`元素,每个`...

    unity添加自定义控件Demo

    在Unity引擎中,自定义控件(Custom Component)是开发者常用的一种技术,它允许我们创建具有特定功能的游戏对象组件,以满足项目中的特殊需求。这个"unity添加自定义控件Demo"应该是一个示例,展示了如何在Unity中...

    android仿IOS tabview效果

    在Android开发中,为了实现与iOS类似的TabView效果,开发者经常需要进行自定义视图的构建。TabView在iOS中是一种常见的导航模式,通常用于在底部显示多个标签,用户可以通过点击不同的标签切换不同的内容区域。在...

    TabView实现分组

    在iOS开发中,`TabView`通常指的是SwiftUI框架中的`TabView`组件,它用于构建多页面的应用界面,每个页面通常对应一个底部标签。`TabView`是苹果在iOS 13中引入的新特性,它极大地提高了用户体验,因为用户可以轻松...

    TabView

    在iOS和macOS开发中,`TabView`是SwiftUI框架中的一个重要组件,它用于创建具有多个选项卡的用户界面,这些选项卡可以显示不同的视图或内容。`TabView`使得用户可以在同一屏幕空间内轻松地在多个相关视图之间切换,...

Global site tag (gtag.js) - Google Analytics