mirror of https://github.com/layui/layui
commit
31f016433e
File diff suppressed because one or more lines are too long
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "layui",
|
||||
"version": "2.8.0-rc.11",
|
||||
"version": "2.8.0-rc.12",
|
||||
"description": "Classic modular Front-End UI library",
|
||||
"main": "dist/layui.js",
|
||||
"license": "MIT",
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
}
|
||||
|
||||
,Layui = function(){
|
||||
this.v = '2.8.0-rc.11'; // Layui 版本号
|
||||
this.v = '2.8.0-rc.12'; // Layui 版本号
|
||||
}
|
||||
|
||||
//识别预先可能定义的指定全局对象
|
||||
|
|
|
@ -10,7 +10,10 @@ layui.define('jquery', function(exports){
|
|||
var hint = layui.hint();
|
||||
var device = layui.device();
|
||||
|
||||
var MOD_NAME = 'element', THIS = 'layui-this', SHOW = 'layui-show';
|
||||
var MOD_NAME = 'element';
|
||||
var THIS = 'layui-this';
|
||||
var SHOW = 'layui-show';
|
||||
var TITLE = '.layui-tab-title';
|
||||
|
||||
var Element = function(){
|
||||
this.config = {};
|
||||
|
@ -30,12 +33,11 @@ layui.define('jquery', function(exports){
|
|||
|
||||
// 外部 Tab 新增
|
||||
Element.prototype.tabAdd = function(filter, options){
|
||||
var TITLE = '.layui-tab-title'
|
||||
,tabElem = $('.layui-tab[lay-filter='+ filter +']')
|
||||
,titElem = tabElem.children(TITLE)
|
||||
,barElem = titElem.children('.layui-tab-bar')
|
||||
,contElem = tabElem.children('.layui-tab-content')
|
||||
,li = '<li'+ function(){
|
||||
var tabElem = $('.layui-tab[lay-filter='+ filter +']');
|
||||
var titElem = tabElem.children(TITLE);
|
||||
var barElem = titElem.children('.layui-tab-bar');
|
||||
var contElem = tabElem.children('.layui-tab-content');
|
||||
var li = '<li'+ function(){
|
||||
var layAttr = [];
|
||||
layui.each(options, function(key, value){
|
||||
if(/^(title|content)$/.test(key)) return;
|
||||
|
@ -54,21 +56,22 @@ layui.define('jquery', function(exports){
|
|||
|
||||
// 外部 Tab 删除
|
||||
Element.prototype.tabDelete = function(filter, layid){
|
||||
var TITLE = '.layui-tab-title'
|
||||
,tabElem = $('.layui-tab[lay-filter='+ filter +']')
|
||||
,titElem = tabElem.children(TITLE)
|
||||
,liElem = titElem.find('>li[lay-id="'+ layid +'"]');
|
||||
var tabElem = $('.layui-tab[lay-filter='+ filter +']');
|
||||
var titElem = tabElem.children(TITLE);
|
||||
var liElem = titElem.find('>li[lay-id="'+ layid +'"]');
|
||||
call.tabDelete(null, liElem);
|
||||
return this;
|
||||
};
|
||||
|
||||
// 外部 Tab 切换
|
||||
Element.prototype.tabChange = function(filter, layid){
|
||||
var TITLE = '.layui-tab-title'
|
||||
,tabElem = $('.layui-tab[lay-filter='+ filter +']')
|
||||
,titElem = tabElem.children(TITLE)
|
||||
,liElem = titElem.find('>li[lay-id="'+ layid +'"]');
|
||||
call.tabClick.call(liElem[0], null, null, liElem);
|
||||
var tabElem = $('.layui-tab[lay-filter='+ filter +']');
|
||||
var titElem = tabElem.children(TITLE);
|
||||
var liElem = titElem.find('>li[lay-id="'+ layid +'"]');
|
||||
|
||||
call.tabClick.call(liElem[0], {
|
||||
liElem: liElem
|
||||
});
|
||||
return this;
|
||||
};
|
||||
|
||||
|
@ -77,7 +80,10 @@ layui.define('jquery', function(exports){
|
|||
options = options || {};
|
||||
dom.on('click', options.headerElem, function(e){
|
||||
var index = $(this).index();
|
||||
call.tabClick.call(this, e, index, null, options);
|
||||
call.tabClick.call(this, {
|
||||
index: index,
|
||||
options: options
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
|
@ -111,9 +117,10 @@ layui.define('jquery', function(exports){
|
|||
// 基础事件体
|
||||
var call = {
|
||||
// Tab 点击
|
||||
tabClick: function(e, index, liElem, options){
|
||||
options = options || {};
|
||||
var othis = liElem || $(this);
|
||||
tabClick: function(obj){
|
||||
obj = obj || {};
|
||||
var options = obj.options || {};
|
||||
var othis = obj.liElem || $(this);
|
||||
var parents = options.headerElem
|
||||
? othis.parent()
|
||||
: othis.parents('.layui-tab').eq(0);
|
||||
|
@ -126,9 +133,9 @@ layui.define('jquery', function(exports){
|
|||
var filter = parents.attr('lay-filter');
|
||||
|
||||
// 下标
|
||||
index = index === undefined
|
||||
? othis.parent().children('li').index(othis)
|
||||
: index;
|
||||
var index = 'index' in obj
|
||||
? obj.index
|
||||
: othis.parent().children('li').index(othis);
|
||||
|
||||
// 执行切换
|
||||
if(!(isJump || unselect)){
|
||||
|
@ -137,21 +144,24 @@ layui.define('jquery', function(exports){
|
|||
}
|
||||
|
||||
layui.event.call(this, MOD_NAME, 'tab('+ filter +')', {
|
||||
elem: parents
|
||||
,index: index
|
||||
elem: parents,
|
||||
index: index
|
||||
});
|
||||
}
|
||||
|
||||
// Tab 删除
|
||||
,tabDelete: function(e, othis){
|
||||
var li = othis || $(this).parent(), index = li.index()
|
||||
,parents = li.parents('.layui-tab').eq(0)
|
||||
,item = parents.children('.layui-tab-content').children('.layui-tab-item')
|
||||
,filter = parents.attr('lay-filter');
|
||||
var li = othis || $(this).parent();
|
||||
var index = li.index();
|
||||
var parents = li.parents('.layui-tab').eq(0);
|
||||
var item = parents.children('.layui-tab-content>.layui-tab-item');
|
||||
var filter = parents.attr('lay-filter');
|
||||
|
||||
if(li.hasClass(THIS)){
|
||||
if (li.next()[0] && li.next().is('li')){
|
||||
call.tabClick.call(li.next()[0], null, index + 1);
|
||||
call.tabClick.call(li.next()[0], {
|
||||
index: index + 1
|
||||
});
|
||||
} else if (li.prev()[0] && li.prev().is('li')){
|
||||
call.tabClick.call(li.prev()[0], null, index - 1);
|
||||
}
|
||||
|
@ -164,8 +174,8 @@ layui.define('jquery', function(exports){
|
|||
}, 50);
|
||||
|
||||
layui.event.call(this, MOD_NAME, 'tabDelete('+ filter +')', {
|
||||
elem: parents
|
||||
,index: index
|
||||
elem: parents,
|
||||
index: index
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -512,14 +522,14 @@ layui.define('jquery', function(exports){
|
|||
|
||||
Element.prototype.render = Element.prototype.init;
|
||||
|
||||
var element = new Element(), dom = $(document);
|
||||
var element = new Element();
|
||||
var dom = $(document);
|
||||
|
||||
$(function(){
|
||||
element.render();
|
||||
});
|
||||
|
||||
var TITLE = '.layui-tab-title li';
|
||||
dom.on('click', TITLE, call.tabClick); //Tab切换
|
||||
dom.on('click', '.layui-tab-title li', call.tabClick); // Tab 切换
|
||||
dom.on('click', call.hideTabMore); // 隐藏展开的 Tab
|
||||
$(window).on('resize', call.tabAuto); // 自适应
|
||||
|
||||
|
|
Loading…
Reference in New Issue