layer组件的使用

layer弹层组件移动版介绍以及使用方法示例代码 1、layer mobile是为移动设备(手机、平板等webkit内核浏览器/webview)量身定做的弹层UI。由于是采用原生 JavaScript编写,所有并不依赖任何第三方库。layer mobile完全独立于PC版的layer,您需要按照场景选择使用。 和layer PC版不同的是,只提供一个核心调用方法,即:layer.open(options) 官网地址:https://layer.layui.com/mobile/ API地址:https://layer.layui.com/mob... 阅读详情

layer组件有pc端和移动端两个版本,不同版本针对不同终端呈现出不同的效果。
官方演示与讲解(针对pc)以及下载地址:http://layer.layui.com/
layer 移动版官方地址:http://layer.layui.com/mobile/
本文主要介绍layer在移动端的使用方式。下载完成后只需用到mobile文件夹下的两个文件(可将mobile文件夹改名字copy出来),不要改变里面的文件路径。

layer组件可实现的功能简介

移动端可弹出:信息框、提示、询问框、底部对话框、底部提示、(可自定义标题风格的)弹出框、底部弹出框、loading层(可带 可不带 文字)
实现上面的这些功能只需参考最上面的官方地址,里面有实现方法。比较常用到的几个如下:

layer.open({ content: 'hello layer', skin: 'msg', time: 2 }); //提示
layer.open({ type: 2, content: '加载中,请稍候' });  //loading带文字
layer.open({ content: '移动版和PC版不能同时存在同一页面', btn: '我知道了' });  //信息框
layer.open({ content: '您确定 ... 吗?', btn: ['确定', '取消'], yes: function(index){ location.reload(); layer.close(index); }});  //询问框
layer.open({ title: [ '我是标题', 'background-color: #FF4351; color:#fff;' ], content: '标题风格任你定义。' });  //自定义标题风格

下面两个是我自己喜欢用的提示框方式:

layer.open({ content: str, skin: 'msg', time: 2 });  //轻提示
layer.open({ content: '<p><img src="img/error.png"></p><br>获取信息失败', time: 3 });  //自己改装的 给信息框加了个图片的 提示(需要手动改样式)

其中的可选参数:(前面加 * 的为必选参数)

  • type - 设置弹层的类型(0表示信息框,1表示页面层,2表示加载层),默认0
  • *content - 设置弹层内容(String)
  • title - 设置弹层标题(String/Array)
  • time - 控制自动关闭层所需秒数(Number)
  • skin - 设定弹层显示风格(footer(即底部对话框风格)、msg(普通提示) )
  • className - 自定义一个css类(String)
  • btn - 按钮(不设置不显示 / 1个:”确定” / 2个:[“确定”,”取消”],最多两个)
  • anim - 动画类型(scale(默认)、up(从下往上弹出)、false(没有动画))
  • shade - 控制遮罩展现(true:显示遮罩、false不显示遮罩)
  • shadeClose - 是否点击遮罩时关闭层(默认true)
  • success - 成功弹出层的回调函数(参数为当前层元素对象)
  • yes - 点确定按钮触发的回调函数(参数为当前层的索引)
  • no - 点取消按钮触发的回调函数
  • end - 层彻底销毁后的回调函数

关闭层:

  • layer.close(index) - 用于关闭特定层,index为该特定层的索引(一般用于yes的回调函数中)
  • layer.closeAll() - 关闭页面所有layer的层(一般用于关闭loading层)

点击按钮弹出表单询问框实例

通过上面的介绍完全可以实现一个弹出框功能了,在这里要介绍的不是在弹出框中进行简单的文本显示,而是在弹出框(询问框)中显示一个form表单。

因为content参数只能传递String类型的数据,而不能传递DOM元素来加载(用DOM的话弹出框中显示为[object object])。所以这里做了个处理,在询问框弹出之后(即success参数的回调函数中),动态渲染 询问框中form表单的DOM元素。代码如下:

要引入的文件:

<script src="http://g.tbcdn.cn/mtb/lib-flexible/0.3.4/??flexible_css.js,flexible.js"></script>
<script src="http://libs.baidu.com/jquery/2.1.1/jquery.min.js"></script>
<script src="js/layer.js"></script>

CSS样式:

 .addShop { display: block; color: #fff; background: #00CC99; border: none; font-size: 14px; width: 50vw; margin: 1rem 0 0 25vw; padding: 0.32rem; border-radius: 0.8rem; }
#addShopForm { display: none; }
/*为layer组件自定义样式*/
.addShopStyle .layui-m-layerbtn span[yes] { color: #0c9; }
.addShopStyle .layui-m-layerbtn span[no] { color:#333; }
.addShopStyle { width: 9rem; border-radius: 0.16rem; }
.layui-m-layer1 .addShopStyle > .layui-m-layercont { padding: 0.4rem 0.4rem 0.266667rem; }
.addShopStyle h3{ height: 1.173333rem; line-height: 1.226667rem; background: #f2f2f2; border-bottom: 1px solid #e8e8e8; }
.addShopStyle form > div { text-align: center; margin-bottom: 0.133333rem; }
.addShopStyle label { display: inline-block; height: 1.066667rem; line-height: 1.066667rem; }
.addShopStyle input, .addShopStyle select{ width: 5.12rem; height: 0.906667rem; border: 1px solid #CFCFCF; border-radius: 0.133333rem; padding-left: 0.16rem; margin-left: 0.133333rem; background-color: #fff; }
.addShopStyle span { color: #0c9; margin-left: 0.133333rem; }
.addShopStyle .time > div { display: inline-block; width: 5.333333rem; margin-left: 0.133333rem; }
.addShopStyle .time > div input { width: 2.2rem; height: 0.906667rem; border: 1px solid #CFCFCF; border-radius: 0.133333rem; padding-left: 0.16rem; margin-left: 0; }
.addShopStyle .perHead input { width: 1.5rem; }
.addShopStyle .perHead p { display: inline-block; width: 2.9rem; }

HTML代码:

<button type="button" id="addShop" class="addShop">新增商铺</button>

<!--新增商铺(弹出框中内容)-->
<form action="" method="post" name="addShopForm" id="addShopForm" >
    <div>
        <label>商铺名称:<input type="text" name="shopName" id="shopName" placeholder="请输入商铺名称" data-info="请输入商铺名称" /></label>
        <span>*</span>
    </div>
    <div>
        <label>商铺类型:<select name="shopType" id="shopType" data-info="请选择商铺类型"><option value="">请选择</option><option value="1">类型一</option><option value="2">类型二</option></select></label>
        <span>*</span>
    </div>
    <div>
        <label>具体地址:<input type="text" name="detailAddress" id="detailAddress" placeholder="请输入具体地址" data-info="请输入具体位置" /></label>
        <span>*</span>
    </div>
    <div>
        <label>联系电话:<input type="tel" name="telPhone" id="telPhone" placeholder="如带区号,请用 - 分隔" data-info="请输入联系电话" /></label>
        <span>*</span>
    </div>
    <div class="perHead">
        <label>人均消费:<input type="tel" name="perHead" id="perHead" data-info="请输入人均消费金额" /></label> 元
        <span>*</span>
        <p class="null"></p>
    </div>
</form>

JS代码:

$(function(){
    var formDom = $("#addShopForm");    //获取页面初始化时的form元素节点
    var dataObj = {'shopName':'','shopType':'','detailAddress':'','telPhone':'','perHead':''};  //变量dataObj - 用于存储且提交表单数据
    $("#addShop").on("click",function(){     //点击[新增商铺]按钮,弹出表单
        layer.open({
            type: 1,
            title: '请输入商铺信息',
            btn: ['新增','取消'],
            className: 'addShopStyle',    //如需要自定义样式,自定义一个类名
            shadeClose: false,
            content: '',
            success: function(elem){    //将body下的form表单转移到layer弹框下
                $("#addShopForm").remove();
                formDom.css("display","block").appendTo($(elem).find(".layui-m-layercont"));
            },
            yes: function(index){    //点击弹框的[新增]按钮,进行 表单验证 和 表单提交 操作
                if(validateResult(dataObj)){    //表单验证成功。调用腾讯地图,获取 具体地址 的经纬度,并存入dataObj对象
                    console.log(dataObj);
                    //****************注意:dataObj对象就是最终要获取的表单json数据了,这里可以用ajax直接把它传给后台
                }
            }
        });
    });
    function  validateResult( data ){    //表单验证
        for(key in data){
            var inpValue = $("#"+key).val();
            if(inpValue == ''){    //验证所有表单是否为空
                briefPlayer($("#"+key)[0].dataset.info,"#"+key);
                return false;
            }else if(key == 'telPhone'){   //验证联系电话是否合法
                //下面依次判断是否为 手机号/带区号的电话号/不带区号的电话号
                var result = (/^1[3|4|5|7|8][0-9]\d{4,8}$/.test(inpValue)) ? "true" :
                        (/^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$/.test(inpValue)) ? "true" :
                                (/^(\d{7,8})(-(\d{3,}))?$/.test(inpValue)) ? "true" : "false";
                if(result == "false"){
                    briefPlayer("请输入正确的联系电话","#"+key);
                    return false;
                }
            }else if( key == 'perHead' ){    //验证人均消费
                if(!(inpValue > 0)){
                    briefPlayer("人均消费格式错误","#"+key);
                    return false;
                }
            }
            dataObj[key] = inpValue;    //将验证通过的值存入dataObj对象
        }
        return true;
    }
    function briefPlayer(str,domStr){   //表单验证不通过
        layer.open({ content: str, skin: 'msg', time: 2 });    //给出提示
        $(domStr).focus();    //不通过的表单获得焦点
    }
});

效果图:

这里写图片描述

Unity 基础 之 Layer(层layer) 、LayerMask (遮罩层) 的 总结 和 使用(CullingMask、Ray 射线的使用等) Unity 基础 之 Layer(层layer) 、LayerMask (遮罩层) 的 总结 和 使用(CullingMask、Ray 射线的使用等) 目录 Unity 基础 之 Layer(层layer) 、LayerMask (遮罩层) 的 总结 和 使用(CullingMask、Ray 射线的使用等) 一、简单介绍 二、layer 层查看与创建 layer 层查 layer 层创建 三、层的设置(手动设置和代码设置) 层的手动设置 层的代码设置 四、LayerMask 的... 阅读详情

相关推荐

Layer2是什么?为什么需要Layer2?

要了解Layer2前,需要先了解下Layer1。一层网络(Layer 1 Network)通常指的是区块链技术中的主链或基础层,它提供了区块链的核心功能和特性。去中心化:一层网络是去中心化的,没有单一的控制中心,由网络中的多个节点共同维护。安全性:一层网络通过加密算法和共识机制(如工作量证明Proof of Work或权益证明Proof of Stake)确保交易的安全性和不可篡改性。共识机制:一层网络使用特定的共识机制来验证交易和创建新区块,这是区块链网络达成一致的方式。智能合约。

weixin_37073932的博客 1749

layer弹出层详解

前言:学习layer弹出框,之前项目是用bootstrap模态框,后来改用layer弹出框,在文章的后面,我会分享项目的一些代码(我自己写的)。 layer至今仍作为layui的代表作,她的受众广泛并非偶然,而是这五年多的坚持,不断完善和维护、不断建设和提升社区服务,使得猿们纷纷自发传播,乃至于成为今天的Layui最强劲的源动力。目前,layer已成为国内最多人使用的web弹层组件,GitHub...

Kevinvcc200的博客 9730

layer弹层组件PC版介绍以及使用方法示例代码

1、layer是一款近年来备受青睐的web弹层组件,她具备全方位的解决方案,致力于服务各水平段的开发人员,您的页面会轻松地拥有丰富友好的操作体验。 PC版的layer弹层 官网地址:https://layer.layui.com/ PC版的layer弹层 API地址:https://www.layui.com/doc/modules/layer.html 前端UI框架layui 官网地址:https://www.layui.com/ layer移动版弹层 官网地址:https://layer...

zcc的博客 1044

layui之layer各种弹出层

一、简单信息提示层 示例: //提示层 layer.msg('玩命提示中'); 默认关闭时间是3秒,效果如下(背景是官网的广告,实际效果是黑色半透明): 自定义样式以及时间,代码如下: layer.msg('操作成功!', {icon: 6, time: 2000}); icon样式是6,关闭时间为2秒。效果如下: 二、询问框 示例: //询问框 layer.confirm( '您是如何看待前端开发?', //弹出框内容,支持html //下面是配置选项

Cloud-Future的博客 1万+

AXI VIP配置全指南:从报错到成功仿真的完整流程(Vivado 2023版)

本文详细解析了在Vivado 2023环境中配置AXI Verification IP(VIP)进行协议仿真的完整流程。针对常见的include和import报错问题,提供了具体的解决方案和代码示例,指导用户从IP核创建、参数化配置,到构建可工作的仿真测试平台,最终实现成功仿真。

gpt4scribbler的博客 234

从AMBA到USB:手把手教你评估和选择Synopsys DesignWare里的免费商用IP

本文详细介绍了如何评估和选择Synopsys DesignWare中的免费商用IP,从AMBA到USB等关键模块。通过技术参数核对、验证环境评估和集成注意事项,帮助工程师高效利用这些经过硅验证的商业级IP,提升SoC设计效率。文章还探讨了免费IP与付费IP的边界策略,避免常见陷阱。

weixin_42683394的博客 297

layer组件使用

文档:layer官方文档地址 layer弹出框组件: type - 基本层类型 layer提供了5种层类型。可传入的值有:0(信息框,默认)1(页面层)2(iframe层)3(加载层)4(tips层)。 若你采用layer.open({type: 1})方式调用,则type为必填项(信息框除外) 案列:常用属性 layer.open({ type: 2, title - 标题 content - ...

HMing的博客 570

osgEarth实战:5分钟搞定3DTiles模型加载(附完整配置代码)

本文提供了一份osgEarth加载3DTiles模型的实战指南。通过详解核心Earth文件配置与精简的C++集成代码,帮助开发者快速在三维地球场景中集成倾斜摄影与BIM等海量模型,并分享了性能调优与常见问题排查技巧,有效提升开发效率。

jjj34的博客 479

django layer弹窗组件使用

父层: &lt;div class="col-xs-12"&gt; &lt;div class="box"&gt; &lt;div class="box-header"&gt; &lt;h3 class="box-title"&gt;主机监控列表&lt;/h3&amp

gumengkai的博客 3671

手把手教你用STM32F303和LAN9252搭建EtherCAT从站(附IO/AD/DA完整代码)

本文详细介绍了如何使用STM32F303和LAN9252搭建EtherCAT从站,涵盖硬件选型、开发环境配置、协议栈移植及IO/AD/DA功能实现。通过实战指南和完整代码,帮助开发者快速掌握工业自动化中的实时通信技术,提升系统性能与可靠性。

weixin_26802933的博客 235

PaddleOCR实战:给图片‘加个框’,轻松搞定小图和长图文字识别不准的难题

本文探讨了PaddleOCR在处理小图和长图时识别精度下降的问题,并提出通过图像边框预处理技术显著提升OCR识别效果。详细介绍了使用OpenCV实现智能边框添加的方法,包括核心原理、工程实践中的关键细节以及性能优化策略,帮助开发者轻松解决非常规尺寸图像的文本检测难题。

weixin_29313547的博客 188

layer弹层组件全面使用说明

layer组件是一个可以让你想到即可做到的web弹窗(层)解决方案(js组件),公开了如此多的接口(api),这使得您可以DIY太多您需要的风格,尤其是页面层模式你可以随心所欲更换皮肤,做出较为华丽的弹层。而且使用简单,只需在调用时简单地配置相关参数,即可轻松实现。layer可以独立使用,也可以通过Layui模块化使用。

m0_74157361的博客 6500

USB接口ESD防护设计实战:从金属外壳到信号线的完整避坑指南

本文深入探讨USB接口ESD防护设计的实战要点,聚焦金属外壳作为ESD能量泄放关键通道的处理策略。文章详细解析了从外壳接地路径控制、信号线TVS管选型与布局,到PCB分区及电源线滤波等完整设计流程,旨在帮助硬件工程师构建系统级防护,避免常见设计误区,确保产品通过严苛的静电测试。

k8l9m0n的博客 482

弹层组件layer的使用

layer是前端ui框架layui的弹层组件,可以单独使用也可以通过Layui模块化使用。 之前自己的项目中一直用aler弹窗,灵活性很差,并且不美观,因此准备单独引入layer做为项目弹框独立插件 操作步骤 首先是去layer独立版官网下载组件包。地址: http://layer.layui.com/ 2.下载解压完成后将整个layer文件夹引入项目任意目录中,并将layer.js 引入ht...

bystarf的博客 787

【Matlab】matlab代码实现sph溃坝模拟

本文介绍了一个基于MATLAB的SPH溃坝模拟实现。代码使用平滑粒子流体动力学方法,通过建立1000个随机分布的粒子,计算粒子间的相互作用力来模拟流体运动。模拟过程包括初始化参数、粒子创建、密度压力更新、速度位置计算以及可视化展示。核心算法采用poly6Kernel和spikyKernelGradient函数处理粒子间作用力。该示例为二维简化模型,仅包含基本物理参数和计算流程,实际应用需进一步优化扩展。

unber的博客 207

opencv案例实战——银行卡模式匹配识别

在之前的几篇文章中我们已经介绍了opencv的一些基础知识,本篇文章我们将结合一个案例运用之前的知识并且学习opencv中模式匹配的应用,用到的知识点如果有不清楚的可以查看上面列出来的系列文章。具体代码会放在最后。

艾醒的博客 1339

layer组件的使用方法一共有哪些?使用场景是什么?底层原理是什么?

基本使用方法:通过引入 Layer 的 CSS 和 JS 文件,使用layer对象提供的方法实现各种弹出层效果。常见使用方法:包括提示框、对话框、加载层、tips 等。使用场景:适用于提示用户、确认操作、显示详细信息、加载状态等场景。底层原理:通过 DOM 操作、事件处理和异步操作实现各种弹出层效果。通过这些方法和原理,你可以灵活地使用 Layer 组件,提升前端用户体验和交互效果。

长风破浪会有时的博客 2929

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Js组件layer的使用

  作为独立组件使用 layer 引入好layer.js后,直接用即可 &lt;script src="layer.js"&gt;&lt;/script&gt; &lt;script&gt; layer.msg('hello'); &lt;/script&gt; 在 layui 中使用 layer layui.use('layer', function(){ var layer = l...

weixin_34235457的博客 612

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Layer 弹出层组件使用教程

Layer 是一款丰富多样的 Web 弹出层组件,可轻松实现 Alert、Confirm、Prompt、普通提示、页面区块、iframe、tips 等几乎所有的弹出交互。目前已成为最多人使用的弹层解决方案。Layer 具备全方位的解决方案,面向各个水平段的开发人员,能够使您的页面轻松拥有丰富友好的操作体验。 Layer 不仅在功能上表现出色,还格外注重性能的提升、易用性和实用性。它兼容包括 IE...

gitblog_00070的博客 602

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

layer弹层组件的基本使用方法

layer弹层组件的基本使用方法 提示: layer.msg(提示信息, {time:1000, icon:5, shift:6}, 回调方法); layer.alert(提示信息, function(index){ // 回调方法 layer.close(index); }); 询问: layer.confirm("询问信息", {icon: 3, title:'提示'}, function(cin

一叶之秋的博客 2531

layer组件的引用方法和layer的使用

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <script src="01layer/lib/jquery-3.4.1.min.js"></script> <script src="./layer/layer.js"></script> <script type="te

weixin_43846020的博客 2319

ThinkPHP 使用 Layer 的文件上传组件

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34184158的博客 192

如何快速掌握Layer:轻量级前端UI组件库的终极使用指南

在前端开发领域,高效的组件管理是提升开发效率的核心。今天我们要介绍的**Layer轻量级UI组件库**,正是为解决这一痛点而生。它以模块化设计为核心,体积小巧且高度可定制,帮助开发者轻松构建跨设备兼容的用户界面,无论是新手还是资深开发者都能快速上手。 ## 为什么选择Layer?三大核心优势解析 ✨ Layer作为一款专注于实用性的前端工具包,凭借以下特性在同类产品中脱颖而出: - **极致...

gitblog_00552的博客 698

php layer弹出层,使用layui的layer组件做弹出层的例子

本例演示效果:当点击申请提现时,出现申请提现框,并根据用户输入进行一些判断,给出友好提示,比如:代码实现:弹出层申请提现$('#pro').on('click',function(){//提现弹窗之前进行一定判断伪代码//上述条件符合之后,弹出提现弹窗layui.use('layer', function() {var layer = layui.layer;layer.open({type: 2...

weixin_39965673的博客 282

layer弹层组件的使用方法

提示: layer.msg(提示信息, {time:1000, icon:5, shift:6}, 回调方法); layer.alert(提示信息, function(index){ // 回调方法 layer.close(index); ...

weixin_40072979的博客 742
上一篇: 腾讯地图的使用,添加多个标记和点击事件
下一篇: iosSelect插件 H5中实现iOS的select下拉联动效果
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值