基于layer封装的异步加载分部视图弹出层
背景:之前一直用的artdialog,但是样式不是很好看,后来偶然看到layer,觉得不错,但是对于.net mvc来说,不能像artdialog一样弹出分部视图是很难受的。所以下面的方法就解决了。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" /> <title></title>
<meta charset="utf-8" /> <link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<script src="jquery-1.10.2.js"></script>
<script src="layer/layer.js"></script> <script>
layer.loading = function (url, opt) {
var cid = layer.load(0, { shade: false }); //0代表加载的风格,支持0-2
$.ajax({
url: url,
success: function (content) {
layer.close(cid);
opt.content = content;
layer.open(opt); }
});
} layer.alertP = function (content, options, yes) {
var type = typeof options === 'function';
if (type) yes = options;
return layer.open($.extend({
content: content,
skin: 'layui-phone-alert',
title: '',
closeBtn: 0,
yes: yes
}, type ? {} : options));
} layer.confirmP = function (content, options, yes, cancel) {
var type = typeof options === 'function';
if (type) {
cancel = yes;
yes = options;
}
return layer.confirm(content, $.extend({
content: content,
skin: 'layui-phone-confirm',
title: '',
closeBtn: 0,
yes: yes,
btn2: cancel
}, type ? {} : options)); } </script> <script>
//d1跟d6类似,只不过多了个type,但是d6Alert时不会关闭当前弹出层,d1会,所以我一般用d6(记得加padding,因为d6默认没有padding),以P结尾的表示对手机端弹出的封装
function d1() {
layer.loading("part.html", {
title: '异步加载!',
maxWidth: 600,
type: 1,
success: function () {
alert(1);
},
btn: ['确定', '取消'],
btn1: function (index, layero) {
//按钮【按钮一】的回调
layer.alert("弹窗内容,告知当前状态、")
},
btn2: function (index, layero) {
//按钮【按钮二】的回调 //return false 开启该代码可禁止点击该按钮关闭
} }); } function d6() {
layer.loading("part.html", {
title: '异步加载!',
maxWidth: 600,
btn: ['确定', '取消'],
btn1: function (index, layero) {
//按钮【按钮一】的回调
layer.alert("弹窗内容,告知当前状态、")
},
btn2: function (index, layero) {
//按钮【按钮二】的回调 //return false 开启该代码可禁止点击该按钮关闭
}
});
} function d4() { layer.confirm('确定要删除吗?', { icon: 3 }, function () { layer.msg('删除成功', { time: 200000 });
}); } function d2() {
layer.alert("弹窗内容,告知当前状态、")
} function d3() { layer.alertP("layer是一款口碑极佳的web弹层组件,她具备全方位的解决方案。"); } function d5() { layer.confirmP('确定要删除吗?', function () { layer.msg('删除成功', { icon: 1 });
}); } </script> </head>
<body>
<button type="button" onclick="d2()">普通对话框</button>
<button type="button" onclick="d4()">提示是否</button>
<button type="button" onclick="d3()">手机对话框</button>
<button type="button" onclick="d5()">手机对话框是否</button> <button type="button" onclick="d1()">异步提示框1</button> <button type="button" onclick="d6()">异步提示框2</button>
</body>
</html>
基于layer封装的异步加载分部视图弹出层的更多相关文章
- bootstrap中使用modal加载kindeditor时弹出层文本框不能输入的问题
答案来自老外http://stackoverflow.com/questions/14795035/twitter-bootstrap-modal-blocks-text-input-field $( ...
- MVC学习系列6--使用Ajax加载分部视图和Json格式的数据
Ajax的应用在平时的工作中,很是常见,这篇文章,完全是为了,巩固复习. 我们先看看不使用json格式返回分部视图: 先说需求吧: 我有两个实体,一个是出版商[Publisher],一个是书[Book ...
- ajax二次封装之异步加载
ajax二次封装之异步加载 ajax异步加载会导致在数据未加载回来就读取数据,然后出现数据为空的报错.在ajax封装时,将ajax直接改为同步,虽然可以解决报错,但是会导致页面渲染被阻塞,接口反应时间 ...
- MVC5中,加载分部视图,常见的方式
首先,新建一个MVC类型的Web项目: 然后在Model文件夹下定义一个Student实体: public class Student { public int ID { get; set; } pu ...
- MVC学习七:Razor布局之加载分部视图【PartialView】
Partial View 顾名思义就是Html代码片段,应用于此HTML代码多次被页面加载时使用.(类似于WebForm程序中的用户控件) 注:PartialView和正常的View页面在访问时没有任 ...
- JavaScript:用JS实现加载页面前弹出模态框
用JS实现加载页面前弹出模态框 主要的JavaScript 代码是: <script> //加载模态框 $('#myModal').modal(); $(document).ready(f ...
- 文字添加响应事件,js动态加载CSS, js弹出DIV
文字添加响应事件,js动态加载CSS, js弹出DIV <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&qu ...
- wemall app商城源码中基于JAVA的Android异步加载图片管理器代码
wemall doraemon是Android客户端程序,服务端采用wemall微信商城,不对原商城做任何修改,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可随意定制修改.本文分享其中 ...
- 基于jQuery的图片异步加载和预加载实例
如今的网页中有很多图片,比如相册列表,那么如果一次性读取图片将会瞬间加重服务器的负担,所以我们用jQuery来实现图片的异步加载和预加载功能,这样在页面的可视范围内才会加载图片,当拖动页面至可视界面时 ...
随机推荐
- 【转载】BaseDao设计
BaseDao接口设计 1 import java.util.List; /** * Dao接口,定义Dao基本操作 由BaseDaoImpl实现 * @author wht * @param < ...
- shiro 配置导图
1 web.xml配置:shiro filter必须放在其他filter之前 <filter> <filter-name>shiroFilter</filter-name ...
- jQuery:mouseover and Increase the Size of an Image
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- SharePoint 2013 - System Features
1. Embed Information & Convert to PDF 功能,在文档的preview界面(hover panel); 2. Share功能可以选择是否发送邮件 -- Don ...
- HTML 5入门知识(四)
表单的作用 表单不是表格,既不用来显示数据,也不用来布局网页.表单提供一个界面,一个入口,便于用户把数据提交给后台程序进行处理. 表单的数据传递方式method属性 表单的method属性用于指定在数 ...
- 如何将bug杀死在摇篮里?
阿里妹导读:在欧洲中世纪的传说中,有一种叫“人狼”的妖怪,就是人面狼身.它们会讲人话,专在月圆之夜去袭击人类.而且传说中对“人狼”用一般的枪弹是不起作用的,普通子弹都伤不到也打不死它,只有一种用银子作 ...
- asyncio标准库6 Threads & Subprocess
Threads import asyncio def compute_pi(digits): # implementation return 3.14 async def main(loop): di ...
- css加载是否会阻塞dom树渲染
这里说的是头部引入css的情况 首先,我们都知道:css是由单独的下载线程异步下载的. 咱们先分析下css加载会影响什么,刚才的问题太笼统了,咱们需要细化一下. 会影响什么呢? 一个就是DOM树解析, ...
- vue v-for(数组遍历)
1.js代码 var box=new Vue({ el:'.box', data:{ msg:['hello','ok','dome'], //定义一个数组 msg2:{a:'ok',b:" ...
- 插上翅膀,让Excel飞起来——xlwings(三)
xlwings基本对象 xlwings基本对象 App相当于Excel程序,Book相当于工作簿.N个Excel程序则由apps表示,N个工作簿由books表示. 对工作簿的操作 #导入xlwings ...