今天花了点时间,设计了一个网页上用的tabview(页签、tabcontrol)效果。个人觉得实现得比较不错,网页元素用得比较少,js代码也比较精练。测试了一下支持IE、FireFox以及chrome。支持同一页面上多处使用。 
  没有什么过多说的。先看一下效果。

 

页面中用到一个图片:

 

页面代码如下:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head><title>tabview示例(欢迎访问我的博客:http://wallimn.iteye.com)</title>
  4. <meta http-equiv=content-type content="text/html; charset=GBK">
  5. <script type="text/javascript">
  6. function tabclick(obj){
  7. if(obj.className=='cur')return;
  8. var idx;
  9. ; n<obj.parentNode.childNodes.length; n++){
  10. obj.parentNode.childNodes[n].className="";
  11. if(obj==obj.parentNode.childNodes[n])idx=n;
  12. }
  13. obj.className="cur";
  14. var pc = obj.parentNode.nextSibling;
  15. while(pc.nodeType==3)pcpc=pc.nextSibling;
  16. ; n<pc.childNodes.length; n++){
  17. pc.childNodes[n].className="hdn";
  18. }
  19. pc.childNodes[idx].className="";
  20. }
  21. </script>
  22. <style type="text/css">
  23. .debug{
  24. border:1px solid red;
  25. }
  26. .hdn{
  27. display:none;
  28. }
  29. ul.tabbar,ul.tabpage{
  30. list-style-type:none;
  31. margin:0;
  32. font-size:12px;
  33. padding:0;
  34. }
  35. ul.tabbar{
  36. background:url(tabview.gif) repeat-x 0 -68px;
  37. height:34px;
  38. }
  39. ul.tabbar li{
  40. float:left;
  41. width:83px;
  42. height:34px;
  43. line-height:34px;
  44. text-align:center;
  45. background:url(tabview.gif);
  46. cursor:pointer;
  47. cursor:hand;
  48. }
  49. ul.tabbar li.cur{
  50. background:url(tabview.gif) 0 -34px;
  51. }
  52. ul.tabpage{
  53. border-style:ridge;
  54. border-color:#dceefd;
  55. border-width:0 2px 2px 2px;
  56. height:302px;
  57. overflow:hidden;
  58. }
  59. ul.tabpage li{
  60. height:300px;
  61. border-width:0;
  62. overflow-y:auto;
  63. }
  64. </style>
  65. </head>
  66. <body>
  67. <ul class="tabbar">
  68. <li style="margin-left:1em" class="cur" onclick="tabclick(this)">过滤条件</li>
  69. <li onclick="tabclick(this)">排序条件</li>
  70. <li onclick="tabclick(this)">分  组</li>
  71. <li onclick="tabclick(this)">计算字段</li>
  72. </ul>
  73. <ul class="tabpage">
  74. <li>显示过滤条件</li>
  75. <li class="hdn">显示排序条件</li>
  76. <li class="hdn">显示分  组</li>
  77. <li class="hdn">显示计算字段</li>
  78. </ul>
  79. </body>
  80. </html>

转:http://wallimn.iteye.com/blog/353867

03-25进一步简化了代码,仅使用一个js函数; 
03-27修正了FF及Chrome浏览器中,对于nextSibling的解释为"\n",然后才是ul,这个很奇怪。

实现TabView(页签)效果的更多相关文章

  1. ASP.NET MVC搭建项目后台UI框架—4、tab多页签支持

    目录 ASP.NET MVC搭建项目后台UI框架—1.后台主框架 ASP.NET MVC搭建项目后台UI框架—2.菜单特效 ASP.NET MVC搭建项目后台UI框架—3.面板折叠和展开 ASP.NE ...

  2. WPF如何实现一个漂亮的页签导航UI

    最近看到一个比较漂亮的UI主界面,该UI是用左边的页签进行导航,比较有特色,就想着尝试用WPF来实现一下.经过一番尝试,基本上将UI设计图的效果用WPF程序进行了实现.下面介绍一下主要的思路: 1 U ...

  3. JavaScript选项卡/页签/Tab的实现

    选项卡,也称页签,英文用Tab(Module-Tabs)表示.Tab将不同的内容重叠放在一个布局块内,重叠的内容区里每次只有其中一个是可见的. Tab可以在相同的空间里展示更多的信息,它把相似的主题分 ...

  4. android123 zhihuibeijing 新闻中心-新闻 页签 ViewPagerIndicator实现

    ## ViewPagerIndicator ## 使用导入ViewPagerIndicator库的方式相当于可以改源码,打包编译Eclips可以自动完成. ViewPager指针项目,在使用ViewP ...

  5. Tab页签切换

    js之tab页签切换效果       现在web网站,很多地都需要用到tab页签. 示例:         $(document).ready(function(){               va ...

  6. Winfon 页签切换及窗体控件自适应

    由于公司的业务调整,最近不仅开发bs,还有不熟悉的cs,人手也不足,项目还多,对于cs来说,算是小白,虽然是一个人,也是硬着头皮写,拖拽控件,自定义控件.一个项目下来,对cs有了很深的认识,这里好好感 ...

  7. easyui tabs页签显示在底部属性

    data-options="tabPosition:'bottom'" 如果没有该属性  页签默认显示在最上面,效果如下 当加上了该属性  ,页签会出现在底部

  8. EBS OAF开发中怎样实现功能页签(Global Tab)

    EBS OAF开发中怎样实现功能页签(Global Tab) (版权声明.本人原创或者翻译的文章如需转载.如转载用于个人学习,请注明出处.否则请与本人联系,违者必究) 功能页签的实现不须要不论什么编码 ...

  9. Android实现图片滚动控件,含页签功能,让你的应用像淘宝一样炫起来

    首先题外话,今天早上起床的时候,手滑一下把我的手机甩了出去,结果陪伴我两年半的摩托罗拉里程碑一代就这么安息了,于是我今天决定怒更一记,纪念我死去的爱机. 如果你是网购达人,你的手机上一定少不了淘宝客户 ...

随机推荐

  1. Atitit. 解压缩zip文件 的实现最佳实践 java c# .net php

    Atitit. 解压缩zip文件 的实现最佳实践 java c# .net php 1. Jdk zip 跟apache ant zip 1 2. Apache Ant包进行ZIP文件压缩,upzip ...

  2. paip.java win程序迁移linux的最佳实践

    paip.java win程序迁移linux的最佳实践 1.class load路径的问题... windows哈第一的从calsses目录加载,,而linux优先从jar加载.. 特别的是修理了ja ...

  3. Java为什么能跨平台运行

    因为它有虚拟机(JVM),JAVA程序不是直接在电脑上运行的,是在虚拟机上进行的,每个系统平台都是有自己的虚拟机(JVM),所以JAVA语言能跨平台. 1, java代码不是直接运行在CPU上,而是运 ...

  4. js 停止事件冒泡 阻止浏览器的默认行为(阻止超连接 # )

    在前端开发工作中,由于浏览器兼容性等问题,我们会经常用到“停止事件冒泡”和“阻止浏览器默认行为”. 1..停止事件冒泡 JavaScript代码 //如果提供了事件对象,则这是一个非IE浏览器if ( ...

  5. MongoDB与Mysql常用命令解释

    原文 本文旨在介绍MongoDB,Mysql的常用命令:将MongoDB 和传统的关系型数据库的常用命令对照起来学习,更加便于记忆和理解. MongoDB是由数据库(database/reposito ...

  6. Delphi 如何让程序获取权限结束指定进程?

    比如说让程序结束进程中360sd.exe 获取权限,否则会拒绝访问, 要怎么写?   补充: 这段代码中……点击按钮后结束不了360进程! unit Unit1;interfaceusesWindow ...

  7. Radio Basics for RFID

    Radio Basics for RFID The following is excerpted from Chapter 3: Radio Basics for UHF RFID from the ...

  8. 在cxf中使用配置避免增加字段导致客户端必须更新、同步实体属性的问题

    在使用cxf实现webservice时,经常碰到的问题就是如果在服务端,修改了一个接口的签名实现,如增加一个字段,或者删除一个字段.在这种情况下,在默认的配置中,就会报以下的错误信息: org.apa ...

  9. IIS7 HTTPS 绑定主机头

    IIS7下面默认HTTPS绑定是无法指定主机头的,但我们可以通过手工修改IIS配置来实现主机头绑定. 打开C:\Windows\system32\inetsrv\config\applicationH ...

  10. jquery easyui 插件开发

    (function($) { /** * 插件定义 */ $.fn.resquery = function(options, param) { if (typeof options == " ...