麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發(fā) > AJAX > 正文

使用Bootstrap Tabs選項卡Ajax加載數(shù)據(jù)實現(xiàn)

2024-09-01 08:33:49
字體:
供稿:網(wǎng)友

本文實例為大家分享了Bootstrap Tabs選項卡Ajax加載數(shù)據(jù)的具體代碼,供大家參考,具體內(nèi)容如下

HTML代碼(僅展示了部分關(guān)鍵性代碼)

<li class="active"> <a href="#home" data-toggle="tab" name="menu-ctrl">  <span class="glyphicon glyphicon-home"> </span> 主頁  <span class="sr-only">(current)</span>  </a></li><li> <a href="#test-paper">  <span class="glyphicon glyphicon-list-alt"> </span> 試卷庫 </a></li><li> <a href="#favorite">  <span class="glyphicon glyphicon-bookmark"> </span> 我的收藏 </a></li><li> <a href="#about"> <span class="glyphicon glyphicon-info-sign"> </span> 關(guān)于 </a></li> <!--- /. Nav tabs---><div id="myTabContent" class="tab-content"> <!-- 試卷庫頁面 --> <div class="tab-pane fade" id="test-paper"></div> <!-- 收藏頁面 --> <div class="tab-pane fade" id="favorite"></div> <!-- 關(guān)于頁面 --> <div class="tab-pane fade" id="about"></div> <!-- 用戶信息頁面 --> <div class="tab-pane fade" id="user-info-page"></div></div> <!--- /.tab-content ---->

實現(xiàn)思路:

1.使用JavaScript激活tab選項卡:

$("a[href=['#about']").click(function(e){ $(this).tab('show'); e.preventDefault(); //阻止a標(biāo)簽的默認(rèn)行為});

2.使用jQuery的load()方法異步加載 tab-pane容器中的內(nèi)容;

$('#about').load('pages/about.jsp');

大功告成!

那么接下來對上面的思路進(jìn)行簡單的封裝

JavaScript代碼:

/** * 激活tab選項卡并使用ajax異步加載內(nèi)容 * @param {Object} tabsId* @param {Object} url */function showTabs(tabsId,url) { $("a[href='#"+tabsId+"']").tab('show'); var $tabContent = $('#'+tabsId); if($tabContent.length < 100) { $tabContent.load(url); //console.info(tabsId + ' load done!'); }}//依次為每個tab導(dǎo)航a標(biāo)簽添加單擊事件$('a[href="#test-paper"]').click(function(e) { showTabs('test-paper','pages/test-paper.jsp'); e.preventDefault();});//$('a[href=..]')...//..//.. 這么長的代碼!!

考慮到每個a標(biāo)簽的綁定的都是click事件,只是參數(shù)不同而已, 可以嘗試著把tabs的數(shù)據(jù)用json數(shù)組存儲起來;

//準(zhǔn)備tabs數(shù)據(jù)var tabsData = [{ "id" : "test-paper", "url" : "pages/test-paper.jsp"},{ "id" : "favorite", "url" : "pages/favorite.jsp"},{ "id" : "about", "url" : "pages/about.jsp"},{ "id" : "user-info-page", "url" : "pages/user-info.jsp"}];//遍歷json數(shù)組,循環(huán)添加a標(biāo)簽click事件:$(tabsData).each(function(){ //console.info(this.id + "--->" + this.url); $("a[href='#"+this.id+"']").click(function(e) { showTabs(this.id,this.url); e.preventDefault(); });});

終于完成? No!實測運行中沒有任何效果;這法子貌似行不通啊!原因暫時還在研究中(..)

這時我想到了jQuery的bind()函數(shù):

bind(type,[data],fn);

//fn: 綁定到每個匹配元素的事件上面的處理函數(shù)
//可以嘗試把每個tab的參數(shù)通過data傳遞到外部的function中,用作每個a標(biāo)簽的click響應(yīng)函數(shù)

改寫后的$.each()循環(huán):

$(tabsData).each(function(){ //console.info(this.id + "--->" + this.url); $("a[href='#"+this.id+"']").bind('click',{ id : this.id, url : this.url },tabsHandler);});function tabsHandler(event) { var data = event.data; showTabs(data.id,data.url); return false; //阻止默認(rèn)a標(biāo)簽響應(yīng)}

這次總算是成功了!

看下演示圖:

Bootstrap,Tabs,選項卡,Ajax

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持VeVb武林網(wǎng)。


注:相關(guān)教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 精品国产一区二区三区四区在线 | 亚洲欧美不卡视频 | 免费啪视频在线观看 | 深夜免费福利视频 | 久久老司机精品视频 | 日韩精品一区二区三区中文 | 国产噜噜噜噜噜久久久久久久久 | 日韩精品久久久久久 | 精品日韩欧美 | 青久草视频 | 国产精品啪一品二区三区粉嫩 | 午夜小电影 | 日本a∨精品中文字幕在线 被啪羞羞视频在线观看 | 国产一级在线观看视频 | www.91成人 | 免费毛片免费看 | 九九午夜视频 | 最新在线黄色网址 | 毛片a片 | 免费a观看 | 欧美成人性色 | av成人一区二区 | 偿还电影免费看 | 免费在线观看亚洲 | 久久久婷婷一区二区三区不卡 | 国产一区二区三区四区在线 | 欧美精品成人一区二区三区四区 | cosplay裸体福利写真 | 成年免费视频黄网站在线观看 | 午夜在线视频一区二区三区 | 99日韩精品视频 | 九色国产| 国产精品成人亚洲一区二区 | 一级电影在线免费观看 | 暖暖免费观看高清完整版电影 | 欧美毛片 | 久久密| 日韩精品免费看 | 97伦理 | 精品亚洲一 | 日韩视频―中文字幕 |