改造 layer 弹层移动版组件

简介: 改造 layer 弹层移动版组件

我们决定在自研的Craneoffice.net框架中,引入 layer弹出层移动版,无须引用 jquery,改造思路是用不同颜色的样式表达不同的警告级别,另外通过一些代码,解决不能嵌入或嵌入 iframe 不理想的问题。

演示视频

改造版layer组件演示视频

添加了一个方法

添加了 layer.gt(type) 方法,该方法用于便捷的设置警告类型样式,返回值为样式字符串。

参数介绍

layer.gt('ok')    成功类型的提示样式

layer.gt('error')    错误类型的提示样式

layer.gt('info')    信息类型的提示样式

layer.gt('alert')    警告类型的提示样式

代码示例

layer.open({
                style: layer.gt('ok'),
                content: '欢迎使用云服务。这是改造版layer弹出框!',
                btn: ['Yes', 'no', 'Canel'],
                shadeClose: false,
                yes: function () {
                    layer.open({
                        content: '点击了 Yes 按钮'
                      , time: 2
                      , skin: 'msg'
                    });
                },
                no: function () {
                    layer.open({
                        content: '点击了 No 按钮'
                      , time: 2
                      , skin: 'msg'
                    });
                },
                cancel: function () {
                    layer.open({
                        content: '点击了 Canel 按钮'
                      , time: 2
                      , skin: 'msg'
                    });
                }
            });

给style属性通过这个方法赋值就可以了。

嵌入iframe

代码示例

var url = 'https://cn.bing.com/';
            var ifr = document.createElement("div");
            var iframepage = '<iframe src="' + url + '" frameborder="0" height="400" width="100%" >'; //height不要设置百分比
            ifr.innerHTML = iframepage;
            layer.open({
                style: layer.gt('ok'),
                type: 0,
                content: ifr.outerHTML,
                btn: '关闭',
                yes: function () {
                    layer.closeAll();
                }
            });

通过这段代码可以正确显示想要达到的效果,显示如下图:

可实现无边距的嵌入iframe。

小结

这是我们引用的layer弹出层的早期组件,属于移动版,针对其中的改造只是体现了自己的一些设计想法,希望大家批评指正。

相关文章
|
7月前
|
JavaScript 前端开发
Layui 弹层组件 - 基础参数1
Layui 弹层组件 - 基础参数1
47 0
|
7月前
|
JavaScript
Layui 弹层组件 - 基础参数3
Layui 弹层组件 - 基础参数3
38 0
|
14天前
|
缓存 前端开发 JavaScript
【亮剑】在React中如何通过点击事件控制组件显示与隐藏,包括基础概念和高级应用
【4月更文挑战第30天】本文介绍了在React中如何通过点击事件控制组件显示与隐藏,包括基础概念和高级应用。使用`useState`钩子和Context API可实现状态驱动的条件渲染,通过CSS类控制组件样式,或利用React Portals在DOM不同位置渲染。性能优化应注意避免不必要的渲染、合理使用Keys、优化事件处理器、使用Memoization及清理资源。测试和验证确保逻辑正确性,以构建动态用户界面并提升应用性能。
|
4月前
|
Web App开发 小程序 Android开发
Uniapp swiper 滚动图组件
Uniapp swiper 滚动图组件
29 0
|
5月前
|
前端开发 JavaScript
React中封装echarts图表组件以及自适应窗口变化
React中封装echarts图表组件以及自适应窗口变化
71 1
|
6月前
|
前端开发
elementUI隐藏组件
elementUI隐藏组件
69 0
|
6月前
|
小程序 前端开发 JavaScript
微信小程序框架--视图层、逻辑层与页面的生命周期
微信小程序框架--视图层、逻辑层与页面的生命周期
84 0
|
6月前
layer 弹出框(iframe层)父子页面传值
layer 弹出框(iframe层)父子页面传值
|
7月前
|
JavaScript 索引
Layui 弹层组件 - 基础参数5
Layui 弹层组件 - 基础参数5
31 0
|
7月前
|
JavaScript
Layui 弹层组件 - 基础参数4
Layui 弹层组件 - 基础参数4
31 0