layui框架源码兼容性微调的示例分析
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,这篇文章主要为大家展示了"layui框架源码兼容性微调的示例分析",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"layui框架源码兼容性微调的示例分析"这篇
千家信息网最后更新 2025年02月02日layui框架源码兼容性微调的示例分析'}// 第二处修改// 大概在 72 - 76 注释掉/*+ (''+ ( hasChild ? ( item.spread ? icon.branch[1] : icon.branch[0]) : icon.leaf) +'') */ //节点图标
这篇文章主要为大家展示了"layui框架源码兼容性微调的示例分析",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"layui框架源码兼容性微调的示例分析"这篇文章吧。
layui提供了丰富的内置模块,他们皆可通过模块化的方式按需加载。
table.js
1、描述:【所有浏览器】 加载图标是静止的,想要做成动画。
解决:寻找到每一个"layui-icon-loading",添加上"layui-anim layui-anim-rotate layui-anim-loop"即可
2、描述:【火狐和IE10+】单元格内如果是纯文本,那么后面的省略的字数需要达到 3 个字符以上才会触发 layer.tips 弹窗。
解决:因为内部使用到了"scrollWidth",它在这两款表现不同于谷歌。
现在通过计算内部的文字长度来推算像素
// 源码 table.js 1600 左右开始var othis = $(this),elemCell = othis.children(ELEM_CELL);// mvar computedFontWidth = function() { var fontSize = parseFloat(elemCell.css('font-size')) var text = elemCell.text() var width = 0, i = 0, len = text.length while ( i < len) { // 基础像素,我的是 14px,不知道可以看 html 或者 body 内的字体大小设置。 // 火狐和IE中字体的长度就是双字节文字按基础像素计算,单字节文字接触像素/2。 // 谷歌比较另类,双字节文字按基础像素计算,单字节是基础像素/2与 16/2 的差值, // 不知道是不是我想复杂了,所以用 +1,微调下浏览器的差异 width += text.charAt(i).match(/[^\x00-\xff]/ig) != null ? fontSize : (fontSize / 2 + 1) i++ } return width}var computedScrollWidth = function() { var hasChildren = elemCell.children().length > 0 var originScrollWidth = elemCell.prop('scrollWidth') var realScrollWidth = hasChildren ? 0 : (computedFontWidth() + parseFloat(elemCell.css('padding-left')) + parseFloat(elemCell.css('padding-right'))) // 这里比较大小值,为了对于原来非纯文本还是采用 layui 原本的方式 return Math.max(originScrollWidth, realScrollWidth)}if(hide){ othis.find('.layui-table-grid-down').remove();// } else if(elemCell.prop('scrollWidth') > elemCell.outerWidth()){ // 注释掉原本的代码} else if(computedScrollWidth() > elemCell.outerWidth()){ if(elemCell.find('.'+ ELEM_GRID_DOWN)[0]) return; othis.append('');}
form.js
1、描述:【所有浏览器】select 的定位,项目中 select 如果在最右边,右下角,点击会让无滚动的页面出现滚动条
解决:
// 修改部分定位写法var showDown = function(){ // 将样式复位 dl.css({ top: '', left: '', right: '' }) var top = reElem.offset().top + reElem.outerHeight() + 5 - $win.scrollTop() ,dlHeight = dl.outerHeight(), dlWidth = dl.outerWidth(), winWidth = $(window).width(); index = select[0].selectedIndex; //获取最新的 selectedIndex // 判断是否在最右边的临界点 if (dlWidth + reElem.offset().left > winWidth) { dl.css({ left: 'auto', right: 0 }) } reElem.addClass(CLASS+'ed'); dds.removeClass(HIDE); nearElem = null; //初始选中样式 dds.eq(index).addClass(THIS).siblings().removeClass(THIS); //上下定位识别 if(top + dlHeight > $win.height() && top >= dlHeight){ reElem.addClass(CLASS + 'up'); } else { // 定位重写定义 // 动画需要的距离和弹窗的间隔,这是根据 layui 的样式来的,理论应该计算 var ANIM_UP = 30, SPACE = 5; var reElemBottom = reElem.get(0).getBoundingClientRect().bottom; var dlTop = parseInt(dl.css('top')); var winHeight = $win.height(); if (reElemBottom + dlHeight + ANIM_UP > winHeight ) { var computeValue = dlTop - (reElemBottom + SPACE - (winHeight - dlHeight - ANIM_UP)) dl.css('top', computeValue) } } followScroll();}
tree.js
描述:我使用的是 layui2.4.5 版本,内部的 tree功能已经满足了,但是因为图标问题,这里我干脆隐藏
解决:
// 第一处修改Tree.prototype.tree = function() { // 大概在 line 48 var li = $(['
以上是"layui框架源码兼容性微调的示例分析"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
源码
定位
兼容性
框架
示例
分析
内容
图标
样式
篇文章
动画
原本
右边
文本
方式
模块
注释
浏览器
学习
帮助
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
租号服务器环境异常
网络技术给企业带来的新挑战
电子商务软件开发前景
征信接入数据库职责
ftp服务器无法登陆
江西综合软件开发销售电话
网络安全密码规则设定
软件开发部经理考核指标
免费征婚软件开发
服务器处理器看什么参数
饥荒私人服务器mod不
制定网络技术部工作计划
php删除数据库的数据库
数据库怎么查最后10条
达梦数据库实验总结
宁波鄞州区刀片服务器
简述服务器与pc的不同
软件开发后应该干什么
网络技术基础与爬虫
海康威视的软件开发岗位工资
南京聚铭网络安全标准化
数字有线电视网络技术试题
服务器端 客户端
入2021年国家网络安全周
如何成为网络安全创业者
麻将软件开发服务放心可靠
服务器处理器看什么参数
数据库弹性扩展包括
福建员工量化积分管理软件开发
郓城 网络安全