layui 如何去dom_layui 弹出层

layui 如何去dom_layui 弹出层这是一个可以重要也可以不重要的方法,重要的是,它的权利真的很大,尤其是在模块化加载layer时,你会发现你必须要用到它。它不仅可以配置一些诸如路径、加载的模块,甚至还可以决定整个弹层的默认参数。而说它不重要,是因为多数情况下,你会发现,你似乎不是那么十分需要它。但你真的需要认识一下这位伙计。如果您是采用seajs或者requirejs加载layer,你需要执行该方法来完成初始化的配置。比如:lay…

大家好,又见面了,我是你们的朋友全栈君。

这是一个可以重要也可以不重要的方法,重要的是,它的权利真的很大,尤其是在模块化加载layer时,你会发现你必须要用到它。它不仅可以配置一些诸如路径、加载的模块,甚至还可以决定整个弹层的默认参数。而说它不重要,是因为多数情况下,你会发现,你似乎不是那么十分需要它。但你真的需要认识一下这位伙计。

如果您是采用seajs或者requirejs加载layer,你需要执行该方法来完成初始化的配置。比如:

layer.config({

path: ‘/res/layer/’ //layer.js所在的目录,可以是绝对目录,也可以是相对目录

});

//这样的话,layer就会去加载一些它所需要的配件,比如css等。

//当然,你即便不用seajs或者requirejs,也可以通过上述方式设定路径

如果你是采用

这样的话,layer就不会去自动去获取路径,但你需要通过以下方式来完成初始化的配置

layer.config({

path: ‘/res/layer/’ //layer.js所在的目录,可以是绝对目录,也可以是相对目录

});

但layer.config的作用远不止上述这样。它还可以配置层默认的基础参数,如:

codelayui.code

layer.config({

shift: 1, //默认动画风格

skin: ‘layui-layer-molv’ //默认皮肤

});

//除此之外,extend还允许你加载css。这对于layer的第三方皮肤有极大的帮助,如:

layer.config({

extend: [

‘skin/layer-ext-myskin/style.css’ //layer-ext-myskin即是你拓展的皮肤文件

]

});

//扩展css的规范:您必须在你扩展中的css文件加上这段

html #layui_layer_skinlayer-ext-myskinstylecss{display:none; position: absolute; width:1989px;}

规则就是:html #layui_layer_skin{文件夹名}{文件名}css

skin名以文件夹名为标准。

由于我们的layer内置了轻量级加载器,所以你根本不需要单独引入css等文件。但是加载总是需要过程的。当你在页面一打开就要执行弹层时,layer.ready()会是一个不错的帮手。它也可以做一些layer.config可以做的事,比如指向layer.js所在目录。但是如果你已经通过layer.config配置了path,你在使用layer.ready时,是不需要path的,如:

//页面一打开就执行弹层

layer.ready(function(){

layer.msg(‘很高兴一开场就见到你’);

});

我是华丽的酱油:介绍完上面两位引导者,接下来我们真正的主角闪亮登场了。此处应有掌声 ^,^

基本上是露脸率最高的方法,不管是使用哪种方式创建层,都是走layer.open(),创建任何类型的弹层都会返回一个当前层索引,上述的options即是基础参数,另外,该文档

统一采用options作为基础参数的标识例子:

var index = layer.open({

content: ‘test’

});

//拿到的index是一个重要的凭据,它是诸如layer.close(index)等方法的必传参数。

噢,请等等,上面这位主角的介绍篇幅怎么看怎么都觉得跟它的地位不符,作者在文档中只给了它如此可怜的一块地??这是因为,它真的已经大众得不能再大众了,你真正需要了解的,是它的内部器官,即上面一大篇幅介绍的各种基础参数。 ←_←

它的弹出似乎显得有些高调,一般用于对用户造成比较强烈的关注,类似系统alert,但却比alert更灵便。它的参数是自动向左补齐的。通过第二个参数,可以设定各种你所需要的基础参数,但如果你不需要的话,直接写回调即可。如:

//eg1

layer.alert(‘只想简单的提示’);

//eg2

layer.alert(‘加了个图标’, {icon: 1}); //这时如果你也还想执行yes回调,可以放在第三个参数中。

//eg3

layer.alert(‘有了回调’, function(index){

//do something

layer.close(index);

});

类似系统confirm,但却远胜confirm,另外它不是和系统的confirm一样阻塞你需要把交互的语句放在回调体中。同样的,它的参数也是自动补齐的。

//eg1

layer.confirm(‘is not?’, {icon: 3, title:’提示’}, function(index){

//do something

layer.close(index);

});

//eg2

layer.confirm(‘is not?’, function(index){

//do something

layer.close(index);

});

我在源码中有了相对较大的篇幅来定制了这个msg,目的是想将其打造成露脸率最高的提示框。而事实上我的确也在大量地使用它。因为它简单,而且足够得自觉,它不仅占据很少的面积,而且默认还会3秒后自动消失所有这一切都决定了我对msg的爱。因此

我赋予了她许多可能在外形方面,它坚持简陋的变化,在作用方面,他坚持零用户操作。而且它的参数也是机会自动补齐的。

//eg1

layer.msg(‘只想弱弱提示’);

//eg2

layer.msg(‘有表情地提示’, {icon: 6});

//eg3

layer.msg(‘关闭后想做些什么’, function(){

//do something

});

//eg

layer.msg(‘同上’, {

icon: 1,

time: 2000 //2秒关闭(如果不配置,默认是3秒)

}, function(){

//do something

});

type:3的深度定制。load并不需要你传太多的参数,但如果你不喜欢默认的加载风格,你还有选择空间。icon支持传入0-2如果是0,无需传。另外特别注意一点:load默认是不会自动关闭的,因为你一般会在ajax回调体中关闭它。

//eg1

var index = layer.load();

//eg2

var index = layer.load(1); //换了种风格

//eg3

var index = layer.load(2, {time: 10*1000}); //又换了种风格,并且设定最长等待10秒

//关闭

layer.close(index);

type:4的深度定制。也是我本人比较喜欢的一个层类型,因为它拥有和msg一样的低调和自觉,而且会智能定位,即灵活地判断它应该出现在哪边。默认是在元素右边弹出。

//eg1

layer.tips(‘只想提示地精准些’, ‘#id’);

//eg 2

$(‘#id’).on(‘click’, function(){

var that = this;

layer.tips(‘只想提示地精准些’, that); //在元素的事件回调体中,follow直接赋予this即可

});

//eg 3

layer.tips(‘在上面’, ‘#id’, {

tips: 1

});

上面主要是一些弹层的调用方式,而下面介绍的是一些辅助性的方法

关于它似乎没有太多介绍的必要,唯一让你疑惑的,可能就是这个index了吧事实上它非常容易得到。

//当你想关闭当前页的某个层时

var index = layer.open();

var index = layer.alert();

var index = layer.load();

var index = layer.tips();

//正如你看到的,每一种弹层调用方式,都会返回一个index

layer.close(index); //此时你只需要把获得的index,轻轻地赋予layer.close即可

//当你在iframe页面关闭自身时

var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引

parent.layer.close(index); //再执行关闭

如果你很懒,你不想去获取index你只想关闭。那么closeAll真的可以帮上你。如果你不指向层类型的话,它会销毁掉当前页所有的layer层。当然,如果你只想关闭某个类型的层,那么你可以:

layer.closeAll(); //疯狂模式,关闭所有层

layer.closeAll(‘dialog’); //关闭信息框

layer.closeAll(‘page’); //关闭所有页面层

layer.closeAll(‘iframe’); //关闭所有的iframe层

layer.closeAll(‘loading’); //关闭加载层

layer.closeAll(‘tips’); //关闭所有的tips层

cssStyle允许你传入任意的css属性

//重新给指定层设定width、top等

layer.style(index, {

width: ‘1000px’,

top: ’10px’

});

使用方式:layer.title(‘标题变了’, index)

当你试图在当前页获取iframe页的DOM元素时,你可以用此方法。selector即iframe页的选择器

layer.open({

type: 2,

content: ‘test/iframe.html’,

success: function(layero, index){

var body = layer.getChildFrame(‘body’, index);

var iframeWin = window[layero.find(‘iframe’)[0][‘name’]]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();

console.log(body.html()) //得到iframe页的body内容

body.find(‘input’).val(‘Hi,我是从父页来的’)

}

});

此方法一般用于在iframe页关闭自身时用到。

//假设这是iframe页

var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引

parent.layer.close(index); //再执行关闭

调用该方法时,iframe层的高度会重新进行适应

似乎不怎么常用的样子。使用方式:layer.iframeSrc(index, ‘http://sentsin.com’)

非常强大的一个方法,虽然一般很少用。但是当你的页面有很多很多layer窗口,你需要像Window窗体那样,点击某个窗口,该窗体就置顶在上面,那么setTop可以来轻松实现。它采用巧妙的逻辑,以使这种置顶的性能达到最优。

//通过这种方式弹出的层,每当它被选择,就会置顶。

layer.open({

type: 2,

shade: false,

area: ‘500px’,

maxmin: true,

content: ‘http://www.layui.com’,

zIndex: layer.zIndex, //重点1

success: function(layero){

layer.setTop(layero); //重点2

}

});

(这三个酱油又一次被并列 ==。)一般用于在自定义元素上触发最大化、最小化和全屏。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/132073.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • windows文件服务器双机热备_服务器双机热备解决方案「建议收藏」

    两台主机各安装一套数据库软件(Oracle/SQL/Sysbase/)和应用程序,建立主机系统结构的镜像模式。将数据库的系统库、数据库及日志建立在磁盘阵列提供的硬盘裸设备上,保证了其中任一台主机出现故障时,令外一台的数据库能继续访问数据库,通过主机切换进程的脚本文件实现应用程序的切换。保证应用业务的服务不停顿,和资料的安全。使用两台服务器分别与磁盘阵列相连接,采用standby方式。一台主机(…

    2022年4月17日
    216
  • 解决WinHTTP Web Proxy Auto-Discovery Service无法启动问题

    解决WinHTTP Web Proxy Auto-Discovery Service无法启动问题需要启动该服务的起因是需要抓包,所以下载了charles,但无任何抓包信息,也没有错误提示,未查到原因。遂又下载了fiddler,此时启动会提示“FailedtoregisterFiddlersasthesystemproxy”,上网查原因是WinHTTPWebProxyAuto-DiscoveryService该服务没有启动,到服务中查询确实如此。解决方案(此为对我生效的解决方案,关联服务未启动等其他问题导致也是有可能的):win+Rregedit打开注册表,找到\HK

    2022年6月21日
    910
  • Impala与Hive的比較

    Impala与Hive的比較

    2021年12月2日
    44
  • 分布式——CAP原理

    分布式——CAP原理一.概述在理论计算机科学中,CAP原理指出对于一个分布式系统来说,当设计读写操作时,只能同时满足一下三点中两个:一致性(Consistence):所有节点访问同一份最新的数据副本 可用性(Avaliability):非故障的节点在合理时间内返回合理的响应(不是错误或者超时的响应) 分区容错性(Partitiontolerance):分布式系统出现网络分区(分布式系统中,多个节点之前的网络本来是连通的,但是由于某些故障,比如部分节点网络出了问题。某些节点之间不连通,整个网络就分为几个区域,这就叫

    2022年5月19日
    46
  • 静态网页设计作品_web静态网页模板

    静态网页设计作品_web静态网页模板作品汇报新的一年新的成就,经历了一星期的思考,新的作品终于完成啦,14张页面经历了多次的修改和揣摩,希望大家能够喜欢。作品主题是“春节”页面框架页面应用了导航栏下拉的形式,使导航栏更加简洁,让浏览者留下空间感,导航栏下拉形式能够让浏览者清晰的浏览页面,页面以红色为底色,更能突出春节这一主题,能够突出春节的喜庆首页首页运用表单和超链接,能够突出该页面的作用,表单运用border-radius属性,使页面更美观春节简介和起源禁烟令的实施和疫情的爆发,让中国春节减少了许多的年味,大部分人都快遗

    2025年8月31日
    6
  • python中的pop函数和append函数

    python中的pop函数和append函数pop()函数1、描述pop()函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。语法pop()方法语法:list.pop(obj=list[-1])2、参数obj–可选参数,要移除列表元素的对象。3、返回值该方法返回从列表中移除的元素对象。4、实例以下实例展示了pop()函数的使用方法:#!/usr/bin/pythonaList=[123,’xyz’,’z

    2022年6月29日
    26

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号