(编辑:jimmy 日期: 2024/11/17 浏览:2)
用了下bootstrap,虽然好看,但是控件跟之前用的easyui相差很大,功能太少,不得不自己写。
花了几个小时把tabs控件扩展了下。下面是代码
页面代码:
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <link href="Content/bootstrap.css" rel="external nofollow" rel="stylesheet" /> <script src="/UploadFiles/2021-04-02/jquery-1.10.2.js">控件代码:
//选项卡 var Tabs = (function ($) { var options = { selector: undefined,// close: false,//是否可以关闭标签 //contextmenu: false,//右键菜单 closeCallback: function () { } }; var _newtab; var _tabcontent; var _drop; var tab = function () { this.options = { title: "", bindcode: undefined, url: undefined, close: false }; var isfull = false; this.init = function (setting) { $.extend(this.options, setting); }; this.addtab = function (setting) { $.extend(this.options, setting); var li, litop, hasdata; if (!_drop) { _drop = new droplist(); }; hasdata = ishas(this.options); if (!hasdata.has) { li = $('<li><a href="#page' + this.options.bindcode + '" rel="external nofollow" data-toggle="tab">' + this.options.title + '<span class="close">×</span></a></li>'); li.data("data", $.extend(true, {}, this.options)); } else { li = hasdata.selector.off("click"); }; li.prependTo(options.selector); li.find("span.close").show().on("click", function () { closetab(this); }); options.selector.children("li").not(li).removeClass("active"); li.addClass("active"); litop = _drop.options.selector.position().top, paneltop = options.selector.position().top; if (litop > paneltop) { //超出检测 _drop.addDropItem(); }; }; function closetab(target) { var pager = $(target).parent().attr("href"); $(target).closest("li").remove(); options.selector.next().find(pager).remove(); if (options.selector.find("li.active").length <= 0) { options.selector.find("li>a:first").tab("show"); }; var li = _drop.options.ulpanel.children("li:first"); if (li.length <= 0) return; li.find("span.close").show(); _drop.options.selector.before(li); if (_drop.options.selector.position().top > options.selector.position().top) { li.find("span.close").hide(); _drop.options.ulpanel.append(li); return; }; li.off("click"); if (_drop.options.ulpanel.children("li").length <= 0) { _drop.options.selector.css({ "visibility": "hidden" }); }; }; function ishas(setting) {//检测选项卡是否存在 var lis = options.selector.find("li"), lidata, hasdata; hasdata = { selector: undefined, has: false }; $.each(lis, function () { lidata = $(this).data("data"); if (!lidata) return true; if (lidata.title === setting.title && lidata.bindcode === setting.bindcode && lidata.url === setting.url) { hasdata = { selector: $(this), has: true }; return false; }; }); return hasdata; }; }; var tabcontent = function () { this.options = { selector:undefined }; var option = { bindcode: undefined, url: undefined, content:undefined }; this.init = function () { var content = $('<div class="tab-content"></div>'); this.options.selector = content; options.selector.after(this.options.selector); }; this.addContent = function (setting) { var page,iframe; $.extend(option, setting); hasdata = ishas(option); if (!hasdata.has) { page = $('<div id="page' + option.bindcode + '" class="tab-pane"></div>').data("data", $.extend(true, {}, option)); if (!option.url) { page.html(option.content); } else { iframe = $('<iframe src="/UploadFiles/2021-04-02/' + option.url + '">以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。