jQuery layer弹出层插件 http://layer.layui.com/直接上官网学
在许多网站中,经常用到弹出层,有时候为了达到更好的用户体验,你将写繁琐的css跟js,这款 jquery-layer可以让你想到即可做到的web弹窗/层js组件。layer侧重于用户灵活的自定义,为不同人的使用习惯提供全方位设计,您的页 面会因此拥有更丰富、友好的操作体验,而您只需在调用时简单地配置相关参数,即可轻松实现各类交互。
它的使用方法很简单,首先,引入jquery库及layer库 代码如下:
<button id="test1">小小提示层</button>
<script src="js/jquery-1.8.3.js"></script>
<script src="js/layer.min.js"></script>
<script>
$('#test1').on('click', function () {
//2秒后自动关闭,-1代表不显示图标
layer.msg('Hello layer', 2, -1);
});
</script>
最近做的一个项目使用了一个叫做layer.js的插件,感觉很不错,在这里写下一些使用心得。
官方下载的地址与使用文档:http://sentsin.com/jquery/layer/
因为官方的使用演示讲解的已经非常清楚了,在这里我就讲解一下就我在项目中的使用心得。
情况一:操作请求在iframe页面中,但是弹窗希望是在整个页面中居中,也就是相当于父页面中的弹窗,也就是所谓的在iframe操作父页面
方法如下:在当前的iframe页面中写JS触发效果,希望弹窗的的DIV必须放在iframe父页面中,调用代码如下

$("#addBank").click(function(){
var docHeight = document.documentElement.clientHeight;
top.$.layer({
type : 1,
title : '添加银行账号',
fix : true,
zIndex : 19891014,
offset:[(docHeight/2-240)+'px' , ''],
area : ['auto','350px'],
page : {dom : '#addWrapper'}
});
});

其中top.$.layer就是调用的关键了,top是浏览器的内置对象,表示最顶层容器,这样一来就是实现了iframe控制父页面的弹窗效果了,
"#addWrapper"是父页面中的一个div,id为"addWrapper",其他的参数官方API里面都有详细介绍,这里我就不再啰嗦了
情况二:希望弹窗自定义显示的文字的样式,我们可以在接受参数message的时候使用如:"<p style='text-align:center;'>你要显示的文字</p>"的方式来实现
- /*
- 先去官网下载最新的js http://sentsin.com/jquery/layer/
- ①引用jquery
- ②引用layer.min.js
- */
- 触发弹层的事件可自由绑定,如:
- $('#id').on('click', function(){
- layer.msg('test');
- });
- 下面主要贴出上述例子的调用代码:
- 【信息框】:
- layer.alert('白菜级别前端攻城师贤心', 8); //风格一
- layer.msg('前端攻城师贤心'); //风格二
- //当然,远远不止这两种风格。
- 【询问框】:
- $.layer({
- shade: [0],
- area: ['auto','auto'],
- dialog: {
- msg: '您是如何看待前端开发?',
- btns: 2,
- type: 4,
- btn: ['重要','奇葩'],
- yes: function(){
- layer.msg('重要', 1, 1);
- }, no: function(){
- layer.msg('奇葩', 1, 13);
- }
- }
- });
- //还可用layer.confirm()快捷调用
- 【页面层一】
- $.layer({
- type: 1,
- shade: [0],
- area: ['auto', 'auto'],
- title: false,
- border: [0],
- page: {dom : '.layer_notice'}
- });
- 【页面层二】
- var pageii = $.layer({
- type: 1,
- title: false,
- area: ['auto', 'auto'],
- border: [0], //去掉默认边框
- shade: [0], //去掉遮罩
- closeBtn: [0, false], //去掉默认关闭按钮
- shift: 'left', //从左动画弹出
- page: {
- html: '<div style="width:420px; height:260px; padding:20px; border:1px solid #ccc; background- color:#eee;"><p>我从左边来,我自定了风 格。</p><button id="pagebtn" class="btns" onclick="">关闭< /button></div>'
- }
- });
- //自设关闭
- $('#pagebtn').on('click', function(){
- layer.close(pageii);
- });
- 【iframe层一】
- $.layer({
- type: 2,
- shadeClose: true,
- title: false,
- closeBtn: [0, false],
- shade: [0.8, '#000'],
- border: [0],
- offset: ['20px',''],
- area: ['1000px', ($(window).height() - 50) +'px'],
- iframe: {src: 'http://f2e.sentsin.com/chat'}
- });
- 【iframe层二】
- layer.tips('5秒后右下角窗口自动关闭,并生成一个新的iframe', this, {
- time: 5,
- maxWidth: 260
- });
- $.layer({
- type: 2,
- closeBtn: false,
- shadeClose: true,
- shade: [0.1, '#fff'],
- border: [0],
- time: 5,
- iframe: {
- src: 'test/guodu.html'
- },
- title: false,
- area: ['300px','250px'],
- shift: 'right-bottom',
- end: function(){
- $.layer({
- type : 2,
- title: '贤心博客 - sentsin.com',
- shadeClose: true,
- maxmin: true,
- fix : false,
- area: ['1024px', 500],
- iframe: {
- src : 'http://sentsin.com/'
- }
- });
- }
- });
- 【加载层一】
- layer.load(3);
- 【加载层二】
- layer.load('加载带文字', 3);
- 【tips层一】
- layer.tips('tips的样式并非是固定的,您可自定义外观。', this, {
- style: ['background-color:#78BA32; color:#fff', '#78BA32'],
- maxWidth:185,
- time: 3,
- closeBtn:[0, true]
- });
- 【tips层二】
- layer.tips('默认没有关闭按钮', this , {guide: 1, time: 2});
- 【输入/文件层】
- //普通文本
- layer.prompt({title: '您的名字?'}, function(name){
- alert(name);
- });
- //密码文本
- layer.prompt({title: '输入任何口令,并确认',type: 1}, function(pass){
- alert(pass);
- });
- //文件上传
- layer.prompt({title: '随便上传个东东,并确认',type: 2}, function(file){
- alert(file);
- });
- //多行文本
- layer.prompt({title: '随便写点啥,并确认',type: 3}, function(val){
- alert(val);
- });
- 【tab层】
- layer.tab({
- area: ['1000px', '500px'],
- data: [
- {title: 'Say', content:'Hi,Main'},
- {title: '无题', content:'支持html传入'}
- ]
- });
- 【相册层】
- //此处为异步请求模式,具体的json格式,请等待文档更新。或者你直接通过请求看photos.json
- var conf = {};
- $.getJSON('ajax地址', {}, function(json){
- conf.photoJSON = json; //保存json,以便下次直接读取内存数据
- layer.photos({
- html: '这里传入自定义的html,也可以不用传入(这意味着不会输出右侧区域)。相册支持左右方向键、Esc关闭',
- json: json
- });
- });
jQuery layer弹出层插件 http://layer.layui.com/直接上官网学的更多相关文章
- 写了一个jquery的 弹出层插件。
下载地址:http://pan.baidu.com/s/1eQ26CMm ps:ajax加载做的,要有环境才能正常运行哦! //这是一个以ajax加载显示弹出层插件 参数(option): widt ...
- jquery layer弹出层插件
http://www.51xuediannao.com/js/jquery/jquery_layer/layer.html
- 在layui layer 弹出层中加载 layui table
layui.use('table', function(){ var table = layui.table; layer.open({ type : 1, area : [ "600px& ...
- 在Vue中使用layer.js弹出层插件
layer.js(mobile)是一个小巧方便的弹出层插件,在之前的apicloud项目中被大量使用,但最近对apicloud的IDE.非常不友好的文档和极低的开发效率深感厌烦,决定弃用然后转向Vue ...
- layer/layui弹出层插件bug
<button class="layui-btn" lay-submit lay-filter="formDemo" id="layui-btn ...
- layer弹出层
最近因为项目要求做了一个layer弹出层demo,先看效果图 好了,现在开始上代码 index.jsp <%@ page language="java" import=&qu ...
- layer弹出层详解
前言:学习layer弹出框,之前项目是用bootstrap模态框,后来改用layer弹出框,在文章的后面,我会分享项目的一些代码(我自己写的). layer至今仍作为layui的代表作,她的受众广泛并 ...
- layer弹出层不居中解决方案
layer弹出层不居中解决方案 代码头中加入以下代码即可 <!doctype html>
- jQuery弹出层插件popbox
都什么年代了,还自己写弹出层插件!是的,①自己写的自己好控制②可定制性高③兼容低版本IE 本插件有以下特性: 样式分离,可定制,纯净无图片 可自定义按钮及按钮的样式.点击事件 可指定选择器选择页面元素 ...
随机推荐
- POJ 2407 Relatives(欧拉函数)
http://poj.org/problem?id=2407 题意: 给出一个n,求小于等于的n的数中与n互质的数有几个. 思路: 欧拉函数的作用就是用来求这个的. #include<iostr ...
- springboot logback + log4j2日志管理
springboot的web项目中自带了日志组件: 我们看一下,springboot中找到日志组件. <dependency> <groupId>org.springframe ...
- UVA-4288 Cat vs. Dog (最大独立集)
题目大意:猫狗大赛,s个猫和t个狗,有v个投票者,他们不是爱猫者就是爱狗者,所以爱猫者一定会对某条猫投晋级票,对某条狗投淘汰票,爱狗者亦然.现在已知这v个人的投票情况,应该使哪些畜牲晋级或淘汰才能使投 ...
- UVA-11212 Editing a Book (IDA*)
题目大意:将一个数字序列以最少的剪切次数粘贴成另一个数字序列. 题目分析:很显然,最坏的情况是需要n-1次剪切,搜索层数不多,但每一层的状态数目又非常庞大,适宜使用IDA*.考虑每一个序列后续不正确的 ...
- 牛客网——F求最大值
链接:https://www.nowcoder.net/acm/contest/29/F来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K ...
- CSS padding 属性
定义和用法 padding 简写属性在一个声明中设置所有内边距属性. 说明 这个简写属性设置元素所有内边距的宽度,或者设置各边上内边距的宽度.行内非替换元素上设置的内边距不会影响行高计算:因此,如果一 ...
- 将C语言的CRC32 代码转成JAVA的CRC32 代码
public class CustomerCRC32 { private static long[] crc32Table = new long[256]; static { long crcValu ...
- CF 148D Bag of mice 概率dp 难度:0
D. Bag of mice time limit per test 2 seconds memory limit per test 256 megabytes input standard inpu ...
- Jenkins的2个问题
最近CI服务器从老版本的hudson升级为jenkins,遇到了2个问题,记录一下: 1.升级为jenkins后,junit report里面显示的test case数量为原来的两倍,每个test c ...
- 自动化测试--响应请求测试(.net)
Web运行原理简单地说是“浏览器发送一个HTTP Request到Web服务器上,Web服务器处理完后将结果(HTTP Response)返回给浏览器”. 通常测试一个web api是否正确,可以通过 ...