Layui快速入门之第十一节 弹出层

目录

一:基本用法

API

打开弹层

基础属性

弹出信息框

弹出询问框

弹出提示框

弹出加载层

弹出贴士层

弹出输入框

弹出图片层

弹出标签层

关闭弹层

关闭所有层

关闭最近一次打开的层 2.8+

全局配置默认属性

样式初始化就绪

重新设置弹层样式

设置弹层的标题

获取 iframe 页中的元素

在 iframe 页中获取弹层索引

设置 iframe 层高度自适应

重新设置 iframe 层 URL

置顶弹层

设置弹层最大化

设置弹层最小化

还原弹层

二:案例演示


一:基本用法

                 弹出层组件 layer 是 Layui 最古老的组件,也是使用覆盖面最广泛的代表性组件。 layer 集众多弹层功能为一体,灵活而多样,是许多开发者的网页弹出层的首选交互方案,在各类业务场景都能发挥重要作用

场景 用前准备 使用方式
作为独立组件使用 你可以去 layer 独立版本官网下载组件包。你需要在你的页面引入jQuery1.8以上的任意版本,并引入layer.js  通过script标签引入layer.js后,直接用即可
模块化使用 如果你使用的是 layui,那么你直接在官网下载 layui 框架即可,无需引入JQuery和 layer.js,但需要引入layui.css和layui.js 通过layui.use(‘layer’, callback)加载模块

API

API 描述
var layer = layui.layer 获得 layer 模块。
弹出 : -
layer.open(options) 打开弹层,核心方法。下述所有弹出方式均为该方法的二次封装
layer.alert(content, options, yes) 弹出 dialog 类型信息框。
layer.confirm(content, options, yes, cancel) 弹出 dialog 类型询问框。
layer.msg(content, options, end) 弹出 dialog 类型提示框。
layer.load(icon, options) 弹出 loading 类型加载层。
layer.tips(content, elem, options) 弹出 tips 类型贴士层。
layer.prompt(options, yes) 弹出 page 类型输入框层。
layer.photos(options) 弹出 page 类型图片层。
layer.tab(options) 弹出 page 类型标签页层。
关闭 : -
layer.close(index) 关闭对应的层,核心方法。
layer.closeAll(type) 关闭所有对应类型的层。
layer.closeLast(type) 2.8+ 关闭最近打开的对应类型的层。
其他 : -
layer.config(options) 全局配置默认属性。
layer.ready(callback) 样式初始化就绪。
layer.style(index, css) 重新设置弹层样式。
layer.title(title, index) 设置弹层的标题。
layer.getChildFrame(selector, index) 获取 iframe 页中的元素。
layer.getFrameIndex(window.name) 在 iframe 页中获取弹层索引。
layer.iframeAuto(index) 设置 iframe 层高度自适应。
layer.iframeSrc(index, url) 重新设置 iframe 层 URL。
layer.index 获取最新弹出层的索引
layer.zIndex 获取最新弹出层的层叠顺序
layer.setTop(layero) 将对应弹层的层叠顺序为置顶。
layer.full(index) 设置弹层最大化尺寸。
layer.min(index) 设置弹层最小化尺寸。
layer.restore(index) 还原弹层尺寸。

打开弹层

layer.open(options);

打开弹层的核心方法,其他不同类型的弹出方法均为该方法的二次封装

// 该方法返回当前层的唯一索引,以便其他方法对该弹层进行相关操作
var index = layer.open({
  type: 1, // page 层类型,其他类型详见「基础属性」
  content: '<div style="padding: 16px;">test</div>'
});

基础属性

属性名 描述 类型 默认值
type

弹层类型。 可选值有:

  • 0 dialog 信息框
  • 1 page 页面层
  • 2 iframe 内联框架层
  • 3 loading 加载层
  • 4 tips 贴士层

layer 弹层由以上 5 种类型构成。 不同的类型代表不同的弹出形态,layer 提供的所有的弹出方式均由此衍生。

number

0

title

弹层标题。其值支持以下可选类型:

  • 若为 string 类型 : 则表示为弹层的标题文本,如:
 
    
  1. title: '标题'
  • 若为 array 类型 : 则可设置标题文本和标题栏 CSS 样式:
 
    
  1. title: ['标题', 'font-size: 18px;']
  • 若为 boolean 类型 : 则可设为 false 不显示标题栏。
 
    
  1. title: false // 不显示标题栏
string
array
boolean

信息

content

弹层内容。 可传入的值比较灵活,支持以下使用场景:

  • 若 type: 1(页面层): 则 content 可传入值如下:
 
    
  1. // 普通字符
  2. layer.open({
  3. type: 1,
  4. content: '传入任意文本或 HTML'
  5. });
  6. // 捕获页面已存在的 DOM 元素或 jQuery 对象
  7. layer.open({
  8. type: 1,
  9. content: $('#id') // 捕获层
  10. });

注意: 若采用捕获层,则捕获的元素必须存放在 <body> 根节点下,否则可能被父级容器的相对定位所影响。

  • 若 type: 2(iframe 层): 则 content 可传入值如下:
 
    
  1. // iframe URL
  2. layer.open({
  3. type: 2,
  4. content: 'http://cn.bing.com' // URL
  5. });
  6. // 是否屏蔽 iframe 滚动条
  7. layer.open({
  8. type: 2,
  9. // 数组第
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
你可以通过以下代码来实现在弹出中嵌入HTML页面: ```html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>弹出-layui</title> <link rel="stylesheet" href="layui/css/layui.css"> </head> <body> <!-- 引入layui.js --> <script src="layui/layui.js"></script> <script> // 使用layui弹出 layui.use('layer', function(){ var layer = layui.layer; // 点击按钮,弹出显示HTML页面 layer.open({ type: 2, title: 'HTML页面', shadeClose: true, shade: 0.8, area: ['800px', '600px'], content: 'test.html' // 弹出中嵌入的HTML页面 }); }); </script> </body> </html> ``` 在这个代码中,我们使用了 layui 弹出组件,通过 `layer.open()` 方法打开一个弹出,并指定了弹出的标题、大小、遮罩等参数。最重要的是 `content` 参数,这个参数指定了要在弹出中嵌入的 HTML 页面,这里我指定了一个名为 `test.html` 的文件。 接下来,我们来看一下 `test.html` 的内容: ```html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>测试页面</title> </head> <body> <h1>Hello, world!</h1> <p>这是一个测试页面,用于演示在弹出中嵌入HTML页面。</p> </body> </html> ``` 这个页面很简单,只有一个标题和一段文字。你可以根据自己的实际需求来编写这个页面。 最后,将上述两段代码保存为两个文件,分别为 `index.html` 和 `test.html`,并且确保 `layui` 目录下的文件已经正确引入。然后在浏览器中打开 `index.html`,你就可以看到一个弹出,其中嵌入了 `test.html` 页面。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值