From afd5dbd6767a70a4fc5a7fc838cb70c5365aae44 Mon Sep 17 00:00:00 2001 From: sunxiaobin89 <470459819@qq.com> Date: Mon, 22 Aug 2022 23:14:41 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=B8=80=E4=BA=9B=E9=97=AE?= =?UTF-8?q?=E9=A2=98=E5=92=8C=E5=8A=A0=E5=BC=BA=E4=B8=80=E4=BA=9B=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/css/modules/laydate.css | 20 ++++++++++++++++++-- src/layui.js | 1 - src/modules/carousel.js | 20 +++++++++++++------- src/modules/laydate.js | 10 +++++----- src/modules/table.js | 3 ++- src/modules/util.js | 6 +++--- 6 files changed, 41 insertions(+), 19 deletions(-) diff --git a/src/css/modules/laydate.css b/src/css/modules/laydate.css index 1238c92c..44118799 100644 --- a/src/css/modules/laydate.css +++ b/src/css/modules/laydate.css @@ -55,7 +55,7 @@ html #layuicss-laydate{display: none; position: absolute; width: 1989px;} .layui-laydate-content{position: relative; padding: 10px; -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none;} .layui-laydate-content table{border-collapse: collapse; border-spacing: 0;} .layui-laydate-content th, -.layui-laydate-content td{width: 36px; height: 30px; padding: 5px; text-align: center;} +.layui-laydate-content td{width: 36px; height: 30px; padding: 0; text-align: center;} .layui-laydate-content th{font-weight: 400;} .layui-laydate-content td{position: relative; cursor: pointer;} .laydate-day-mark{position: absolute; left: 0; top: 0; width: 100%; line-height: 30px; font-size: 12px; overflow: hidden;} @@ -107,7 +107,7 @@ html #layuicss-laydate{display: none; position: absolute; width: 1989px;} .layui-laydate-content td{color: #666;} .layui-laydate-content td.laydate-selected{background-color: #B5FFF8;} .laydate-selected:hover{background-color: #00F7DE !important;} -.layui-laydate-content td:hover, +.layui-laydate-content td>div:hover, .layui-laydate-list li:hover{background-color: #eee; color: #333;} .laydate-time-list li ol{margin: 0; padding: 0; border: 1px solid #e2e2e2; border-left-width: 0;} .laydate-time-list li:first-child ol{border-left-width: 1px;} @@ -124,6 +124,7 @@ html #layuicss-laydate{display: none; position: absolute; width: 1989px;} .layui-laydate .layui-this{background-color: #009688 !important; color: #fff !important;} .layui-laydate .laydate-disabled, .layui-laydate .laydate-disabled:hover{background:none !important; color: #d2d2d2 !important; cursor: not-allowed !important; -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none;} +.layui-laydate-content td>div{padding: 7px 0;height: 100%;} /* 墨绿/自定义背景色主题 */ .laydate-theme-molv{border: none;} @@ -153,4 +154,19 @@ html #layuicss-laydate{display: none; position: absolute; width: 1989px;} .laydate-theme-grid .laydate-month-list>li{margin: 0 -1px -1px 0;} .laydate-theme-grid .laydate-year-list>li{height: 43px; line-height: 43px;} .laydate-theme-grid .laydate-month-list>li{height: 71px; line-height: 71px;} +.laydate-theme-grid .layui-laydate-content td>div{height: 29px;margin-top: -1px;} +/* 圆圈高亮主题 */ +.laydate-theme-circle .layui-laydate-content td>div, +.laydate-theme-circle .layui-laydate-content td.layui-this>div{width: 28px;height: 28px;line-height: 28px;border-radius: 14px;margin: 0 4px;padding: 0;} +.layui-laydate.laydate-theme-circle .layui-laydate-content table td.layui-this{background-color: transparent !important;} +.laydate-theme-grid.laydate-theme-circle .layui-laydate-content td>div{margin: 0 3.5px;} + +/* 全面板 */ +.laydate-theme-fullpanel .layui-laydate-main {width: 526px;} +.laydate-theme-fullpanel .layui-laydate-list {width: 252px;left: 272px;} +.laydate-theme-fullpanel .laydate-set-ym span {display: none;} +.laydate-theme-fullpanel .laydate-time-show .layui-laydate-header .layui-icon, +.laydate-theme-fullpanel .laydate-time-show .laydate-set-ym span[lay-type="year"], +.laydate-theme-fullpanel .laydate-time-show .laydate-set-ym span[lay-type="month"] {display: inline-block !important;} +.laydate-theme-fullpanel .laydate-btns-time{display: none;} \ No newline at end of file diff --git a/src/layui.js b/src/layui.js index 3b7036e7..fb180859 100644 --- a/src/layui.js +++ b/src/layui.js @@ -54,7 +54,6 @@ ,laydate: 'laydate' //日期 ,laypage: 'laypage' //分页 ,laytpl: 'laytpl' //模板引擎 - // ,layedit: 'layedit' //富文本编辑器 ,form: 'form' //表单集 ,upload: 'upload' //上传 ,dropdown: 'dropdown' //下拉菜单 diff --git a/src/modules/carousel.js b/src/modules/carousel.js index 076a859b..116f51b8 100644 --- a/src/modules/carousel.js +++ b/src/modules/carousel.js @@ -194,6 +194,18 @@ layui.define('jquery', function(exports){ that.slide(type); }); }; + + // 跳转到特定下标 + Class.prototype.jump = function(index){ + var that = this; + var options = that.config; + + if(index > options.index){ + that.slide('add', index - options.index); + } else if(index < options.index){ + that.slide('sub', options.index - index); + } + } //指示器 Class.prototype.indicator = function(){ @@ -226,13 +238,7 @@ layui.define('jquery', function(exports){ //事件 tplInd.find('li').on(options.trigger === 'hover' ? 'mouseover' : options.trigger, function(){ - var othis = $(this) - ,index = othis.index(); - if(index > options.index){ - that.slide('add', index - options.index); - } else if(index < options.index){ - that.slide('sub', options.index - index); - } + that.jump($(this).index()); }); }; diff --git a/src/modules/laydate.js b/src/modules/laydate.js index f964c02f..b24321e2 100644 --- a/src/modules/laydate.js +++ b/src/modules/laydate.js @@ -909,8 +909,8 @@ }, function(key, item){ timestrap[key] = that.newDate(lay.extend({ year: item.year - ,month: item.month - ,date: item.date + ,month: type === 'year' ? 0 : item.month // 年份的时候只比较年 + ,date: (type === 'year' || type === 'month') ? 1 : item.date // 年月只比较年月不与最大最小比日期 }, function(){ var hms = {}; lay.each(time, function(i, keys){ @@ -1094,7 +1094,7 @@ } */ - that.limit(lay(li), ymd, index); + that.limit(lay(li), ymd, index, null, type); yearNum++; }); @@ -1126,7 +1126,7 @@ } */ - that.limit(lay(li), ymd, index); + that.limit(lay(li), ymd, index, null, type); }); lay(elemYM[isCN ? 0 : 1]).attr('lay-ym', listYM[0] + '-' + listYM[1]) @@ -1729,7 +1729,6 @@ //绑定呼出控件事件 // var showEvent = function(elem, bind){ // elem.on(options.trigger, function(){ - // console.log('showEvent, ' + options.trigger, elem); // //已经打开的面板避免重新渲染 // if(laydate.thisId === options.id) return; // bind && (that.bindElem = this); @@ -1756,6 +1755,7 @@ that.remove(); options.elem.off(options.trigger, showFn); options.elem[0].eventHandler = false; + options.elem.removeAttr('lay-key'); delete thisModule.that[options.id]; } }; diff --git a/src/modules/table.js b/src/modules/table.js index 06aa8492..7f9d34a8 100644 --- a/src/modules/table.js +++ b/src/modules/table.js @@ -754,7 +754,8 @@ layui.define(['laytpl', 'laypage', 'form', 'util'], function(exports){ // 给设定百分比的列分配列宽 else if(/\d+%$/.test(item3.width)){ that.getCssRule(options.index +'-'+ item3.key, function(item){ - item.style.width = Math.floor((parseFloat(item3.width) / 100) * cntrWidth) + 'px'; + var width = Math.floor((parseFloat(item3.width) / 100) * cntrWidth); + item.style.width = (width < minWidth ? minWidth : width) + 'px'; }); } diff --git a/src/modules/util.js b/src/modules/util.js index dea710d7..b1e3e2bc 100644 --- a/src/modules/util.js +++ b/src/modules/util.js @@ -13,7 +13,7 @@ layui.define('jquery', function(exports){ //固定块 fixbar: function(options){ var ELEM = 'layui-fixbar', TOP_BAR = 'layui-fixbar-top' - ,dom = $(document), body = $('body') + ,dom = $(options.elem || document), body = $(options.elem || 'body') ,is, timer; options = $.extend({ @@ -39,7 +39,7 @@ layui.define('jquery', function(exports){ is && (topBar.hide(), is = 0); } }; - if($('.'+ ELEM)[0]) return; + if(body.find('.'+ ELEM)[0]) return; typeof options.css === 'object' && elem.css(options.css); body.append(elem), scroll(); @@ -48,7 +48,7 @@ layui.define('jquery', function(exports){ elem.find('li').on('click', function(){ var othis = $(this), type = othis.attr('lay-type'); if(type === 'top'){ - $('html,body').animate({ + (options.elem ? $(options.elem) : $('html,body')).animate({ scrollTop : 0 }, 200); }