uaucms 后臺采用bootstrap 構(gòu)架 ,web 2.0 肯定少不了 ajax tab ,但是現(xiàn)有的 bootstrap tab 有兩個缺點,一是不支持ajax,二是不能通過url直接定位某個頁面。
google 了一下 找到一個差不多的項目 https://github.com/jcgarciam/bootstrap-tab-ajax/blob/master/bootstrap-tab-ajax.js
移植到uaucms 代碼如下
(function ($, window, undefined) { $.fn.ajaxTab = function (tabId) { var $this = $(this); var tbCnt = $this.next("div.tab-content"); var selector_no_hash = $this.selector.substr(1); if (tbCnt.length === 0) { var div_tab_content = []; div_tab_content.push("<div class='tab-content'>") div_tab_content.push("<div class='tab-pane active' id='" + selector_no_hash + "-content'>"); div_tab_content.push("</div>"); div_tab_content.push("</div>"); $this.parent().append(div_tab_content.join("")); } else { tbCnt.find(".tab-pane").attr("id", selector_no_hash + "-content"); } $this.find("li>a").each(function (idx, el) { var $el = $(el); var href = $el.attr("href"); var newHref = href + $this.selector + "-content"; $el.attr("href", newHref); }); $this.bind("show", function (e) { tshow($(e.target)); }); function tshow(a){ var href = a.attr("href"); var hash = href.indexOf("#"); var target = href.substr(hash); href = href.substr(0, hash); $.get(href, function (data) { $(target).html(data); }); } if(tabId === undefined || tabId === "" || tabId === null){ tshow($this.find('a:first')); }else{ tshow($("#"+tabId)); $this.find('li:first').removeClass(); //去掉原來的默認(rèn)第一項的class屬性 $("#"+tabId).parent().attr("class","active"); //給當(dāng)前的tab加上 active } }})(jQuery, window, undefined);$(document).ready(function () { $("#myTab").ajaxTab();});
前面的jquery ajaxTab 已經(jīng)提供了接口 只需要傳入?yún)?shù)即可
var t = window.location.href.split("#"); //分割url $("#myTab").ajaxTab(t[1]); //傳入當(dāng)前的tab
例如:http://w/uauc/uaucms/admin/?m=apps&a=view&id=fddy# seoword
直接定位到 seoword 欄目
聯(lián)系客服