国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 語(yǔ)言 > JavaScript > 正文

YUI的Tab切換實(shí)現(xiàn)代碼

2024-05-06 14:10:34
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
Tab切換應(yīng)該不依賴于HTML結(jié)構(gòu),能給設(shè)計(jì)人員和前端開(kāi)發(fā)最大的靈活性。原理:一個(gè)tab對(duì)象分為控制部分(trigger),內(nèi)容部分(sheet)。當(dāng)trigger被觸發(fā)時(shí),顯示對(duì)應(yīng)的sheet。

以前大樹(shù)寫(xiě)過(guò)一個(gè)TabControl的代碼,經(jīng)過(guò)兩年的使用依舊很考譜,說(shuō)明當(dāng)初這個(gè)思路還是比較符合實(shí)際需求的。我改成了基于YUI的版本,可能看起來(lái)更清晰一些。先訪問(wèn)測(cè)試頁(yè)面查看效果,完整javascript代碼在這里。

注意:改成實(shí)際代碼時(shí),請(qǐng)將Tab類放在某個(gè)命名空間下,不要直接暴露在全局空間中。

1:使用
以下是常用的html結(jié)構(gòu),但不限于此。
代碼如下:
<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>

對(duì)應(yīng)的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:擴(kuò)展
已經(jīng)實(shí)現(xiàn)自動(dòng)切換功能(默認(rèn)關(guān)閉),另外可以通過(guò)onShow自定義事件擴(kuò)展,也可以在原代碼基礎(chǔ)上添加更多的自定義事件。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 巴中市| 越西县| 新安县| 临海市| 南召县| 兴仁县| 友谊县| 昌平区| 长海县| 湘潭市| 涞源县| 任丘市| 冷水江市| 海晏县| 昭平县| 资阳市| 九龙县| 界首市| 贞丰县| 康马县| 邹平县| 托克逊县| 上高县| 巴东县| 宝兴县| 益阳市| 九江县| 紫阳县| 建始县| 大城县| 陆河县| 崇仁县| 平泉县| 巫溪县| 山东省| 瑞安市| 黄陵县| 台南市| 平乡县| 阿鲁科尔沁旗| 梁平县|