YUI的Tab切换实现代码

Tab切换应该不依赖于HTML结构,能给设计人员和前端开发最大的灵活性。原理:一个tab对象分为控制部分(trigger),内容部分(sheet)。当trigger被触发时,显示对应的sheet。

以前大树写过一个TabControl的代码,经过两年的使用依旧很考谱,说明当初这个思路还是比较符合实际需求的。我改成了基于YUI的版本,可能看起来更清晰一些。先访问测试页面查看效果,完整javascript代码在这里。

注意:改成实际代码时,请将Tab类放在某个命名空间下,不要直接暴露在全局空间中。

1:使用
以下是常用的html结构,但不限于此。


代码如下:

<ul id="t">
<li id="t1">t1</li>
<li id="t2">t2</li>
<li id="t3">t3</li>
</ul>
<div id="s">
<div id="s1">s1</div>
<div id="s2">s2</div>
<div id="s3">s3</div>
</div>

对应的javascript代码如下,四种初始化方法都是可以的。

代码如下:

var tab = new Tab($D.get('t').getElementsByTagName('li'), $D.get('s').getElementsByTagName('div'));//1
var tab = new Tab(['t1','t2', 't3'],['s1','s2', 's3']);//2
var tab = new Tab(['t1','t2','t3'],['s1','s2','s3'],{ triggerEvent:'mouseover',slideEnabled:true});//3
var tab = new Tab();//4
tab.add('t1', 's1');
tab.add('t2', 's2');
tab.add('t3', 's3');
tab.config['triggerEvent'] = 'mouseover';
tab.config['slideEnabled'] = true;
tab.onShow.subscribe(function(t, a){ ... });
tab.init();

2:扩展
已经实现自动切换功能(默认关闭),另外可以通过onShow自定义事件扩展,也可以在原代码基础上添加更多的自定义事件。

(0)

相关推荐

  • YUI的Tab切换实现代码

    Tab切换应该不依赖于HTML结构,能给设计人员和前端开发最大的灵活性.原理:一个tab对象分为控制部分(trigger),内容部分(sheet).当trigger被触发时,显示对应的sheet. 以前大树写过一个TabControl的代码,经过两年的使用依旧很考谱,说明当初这个思路还是比较符合实际需求的.我改成了基于YUI的版本,可能看起来更清晰一些.先访问测试页面查看效果,完整javascript代码在这里. 注意:改成实际代码时,请将Tab类放在某个命名空间下,不要直接暴露在全局空间中.

  • 最简单的tab切换实例代码

    JS: $(".con").eq(0).show(); $(".btn span").click(function(){ var num =$(".btn span").index(this); $(".con").hide(); $(".con").eq(num).show().slblings().hide(); }) CSS: body { cursor:default; -webkit-text-s

  • 使用jquery实现div的tab切换实例代码

    jQuery实现Tab切换 接触jQ不久以前的js代码来写的简单效果现在用jQ来写: HTML代码: 复制代码 代码如下: <div id="sidebar-tab"> <div id="tab-title"> <h3><span class="selected">最新评论</span><span>近期热评</span><span>随机文章</s

  • 跨浏览器通用、可重用的选项卡tab切换js代码

    由于近来学了点js,于是我装逼道...不太难吧...就切一下display属性?同学无视我..说要搞个通用的...什么还要跟ajax交互..???我愣是没有听懂...到底要搞什么...权当作练手,我自己胡弄了一个. 需求:同学口中的通用我不知道神马意思...那我就按自己的理解吧.. ①跨浏览器,IE6+,FF,Chrome,Safari,Opera ②同一个页面可以用同一个js设置不同的选项卡. 说太多没啥米用,来看代码吧. 一.html部分(其实这还没啥好看的,设置了三个,前两个是一样的,通过

  • 一个js的tab切换效果代码[代码分离]

    支持自动播放 可定义鼠标事件延迟 不限制html结构 假设HTML如下: 复制代码 代码如下: <ul> <li id="t1">tab1</li> <li id="t2">tab2</li> <li id="t3">tab3</li> </ul> <div id="c1">content1</div> &l

  • 基于javascript实现tab切换特效

    本文实例为大家分享了javascript实现tab切换特效代码,供大家参考,具体内容如下 效果图: 实现代码: <!DOCTYPE html> <html> <head lang="en"> <meta charset="gb2312"> <title>实践题 - 选项卡</title> <style type="text/css"> *{ margin:0px;

  • Vue实现选项卡tab切换制作

    本文实例为大家分享了Vue实现选项卡tab切换制作代码,供大家参考,具体内容如下 1.主要的实现功能如下:(点击进行切换,这里我不做太多的样式处理了,主要看功能) 2.话不多说:主要看代码实现 <!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8">     <title>选项卡制作</title>     <!-

  • 使用ionic(选项卡栏tab) icon(图标) ionic上拉菜单(ActionSheet) 实现通讯录界面切换实例代码

    废话不多说了,直接给大家贴代码了,具体代码如下所示: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>用ionic(选项卡栏tab) icon(图标) ionic上拉菜单(ActionSheet) 实现通讯录界面切换操作</title> <link rel="stylesheet"

  • BootStrap中Tab页签切换实例代码

    关于$().tab()一般用来实现标签页和胶囊链接内容片段的切换,或是相关内容的页面导航: <ul class="nav nav-tabs" id="myTab"> <li class="active"><a href="#home">Home</a></li> <li><a href="#profile">Profile&

  • js实现的tab标签切换效果代码分享

    这是一款基于js实现的tab标签切换效果,是一款无需jQuery,原生javascript制作的tab切换效果源码.点击上面的标题即可实现对应页面的切换功能,非常具有实用价值. 运行效果图:-------------------查看效果 下载源码------------------- 小提示:浏览器中如果不能正常运行,可以尝试切换浏览模式. 为大家分享的js实现的tab标签切换效果代码如下 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Trans

随机推荐