MUI中等待框的H5实现
MUI没有内置的那个弹出转圈圈的那个等待框,那个nativeui.showwaiting是只能用于app中的,不能用在H5网页中的,网上找了下,找到个别人已经写好的,自己 测试了下没问题,先记下来
@{
Layout = null;
Niunan.GRWX.Model.Product product = ViewBag.product;
Niunan.GRWX.Model.Userinfo user = ViewBag.user;
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>兑换礼品</title>
<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1,user-scalable=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<link href="/content/css/mui.min.css" rel="stylesheet" />
<link href="/content/css/theone.css" rel="stylesheet" />
<style>
html,
body {
background-color: #efeff4;
}
.title {
padding: 20px 15px 10px;
color: #6d6d72;
font-size: 15px;
background-color: #fff;
}
</style>
<style>
/*----------------mui.showLoading---------------*/
.mui-show-loading {
position: fixed;
padding: 5px;
width: 120px;
min-height: 120px;
top: 45%;
left: 50%;
margin-left: -60px;
background: rgba(0, 0, 0, 0.6);
text-align: center;
border-radius: 5px;
color: #FFFFFF;
visibility: hidden;
margin: 0;
z-index: 2000;
-webkit-transition-duration: .2s;
transition-duration: .2s;
opacity: 0;
-webkit-transform: scale(0.9) translate(-50%, -50%);
transform: scale(0.9) translate(-50%, -50%);
-webkit-transform-origin: 0 0;
transform-origin: 0 0;
}
.mui-show-loading.loading-visible {
opacity: 1;
visibility: visible;
-webkit-transform: scale(1) translate(-50%, -50%);
transform: scale(1) translate(-50%, -50%);
}
.mui-show-loading .mui-spinner {
margin-top: 24px;
width: 36px;
height: 36px;
}
.mui-show-loading .text {
line-height: 1.6;
font-family: -apple-system-font,"Helvetica Neue",sans-serif;
font-size: 14px;
margin: 10px 0 0;
color: #fff;
}
.mui-show-loading-mask {
position: fixed;
z-index: 1000;
top: 0;
right: 0;
left: 0;
bottom: 0;
}
.mui-show-loading-mask-hidden {
display: none !important;
}
</style>
</head>
<body>
<div class="mui-content user-password user-addcard">
<form class="mui-input-group" style="margin-top: 0;">
<div class="mui-input-row">
<label>礼品名称</label>
<span style="line-height:38px;">@product.proname</span>
</div>
<div class="mui-input-row">
<label>用户名</label>
<span style="line-height:38px;">@user.username</span>
</div>
<div class="mui-input-row">
<label>手机</label>
<input type="text" class="mui-input-clear" id="mobile" name="mobile" value="@user.mobile" />
</div>
<div class="mui-input-row">
<label>收货地址</label>
<input type="text" class="mui-input-clear" id="address" name="address" value="@user.address" />
</div>
<div class="enterbtn-wr">
<button type="button" class="mui-btn mui-btn-danger enterbtn" id="btn1">兑换礼品</button>
@Html.AntiForgeryToken()
<input type="hidden" id="proid" value="@product.id" />
<input type="hidden" id="userid" value="@user.id" />
</div>
</form>
</div>
<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script src="~/Scripts/mui.min.js"></script>
<script>
//扩展mui.showLoading http://ask.dcloud.net.cn/article/12856?item_id=12464
(function ($, window) {
//显示加载框
$.showLoading = function (message, type) {
if ($.os.plus && type !== 'div') {
$.plusReady(function () {
plus.nativeUI.showWaiting(message);
});
} else {
var html = '';
html += '<i class="mui-spinner mui-spinner-white"></i>';
html += '<p class="text">' + (message || "数据加载中") + '</p>';
//遮罩层
var mask = document.getElementsByClassName("mui-show-loading-mask");
if (mask.length == 0) {
mask = document.createElement('div');
mask.classList.add("mui-show-loading-mask");
document.body.appendChild(mask);
mask.addEventListener("touchmove", function (e) { e.stopPropagation(); e.preventDefault(); });
} else {
mask[0].classList.remove("mui-show-loading-mask-hidden");
}
//加载框
var toast = document.getElementsByClassName("mui-show-loading");
if (toast.length == 0) {
toast = document.createElement('div');
toast.classList.add("mui-show-loading");
toast.classList.add('loading-visible');
document.body.appendChild(toast);
toast.innerHTML = html;
toast.addEventListener("touchmove", function (e) { e.stopPropagation(); e.preventDefault(); });
} else {
toast[0].innerHTML = html;
toast[0].classList.add("loading-visible");
}
}
};
//隐藏加载框
$.hideLoading = function (callback) {
if ($.os.plus) {
$.plusReady(function () {
plus.nativeUI.closeWaiting();
});
}
var mask = document.getElementsByClassName("mui-show-loading-mask");
var toast = document.getElementsByClassName("mui-show-loading");
if (mask.length > 0) {
mask[0].classList.add("mui-show-loading-mask-hidden");
}
if (toast.length > 0) {
toast[0].classList.remove("loading-visible");
callback && callback();
}
}
})(mui, window);
</script>
<script>
document.getElementById('btn1').addEventListener('tap', function () {
var userid = document.getElementById('userid').value;
var proid = document.getElementById('proid').value;
var mobile = document.getElementById('mobile').value;
var zipcode = '';
var address = document.getElementById('address').value;
var __RequestVerificationToken = document.getElementsByName('__RequestVerificationToken')[0].value;
var postdata = { userid: userid, proid: proid, mobile: mobile, zipcode: zipcode, address: address, __RequestVerificationToken: __RequestVerificationToken };
console.log(postdata);
var url = "/order/add";
mui.showLoading("正在提交..", "div");
mui.post(url, postdata, function (data) {
mui.hideLoading(function () { });//隐藏后的回调函数
if (data.code == 0) {
mui.alert(data.msg, function () { location.href = "/userinfo/index" });
} else {
mui.alert(data.msg);
}
}, 'json')
})
</script>
</body>
</html>
MUI中等待框的H5实现的更多相关文章
- Mui中mui.openWindow()方法具体参数信息(内容来自Mui问题专区)
mui.openWindow({ url: 'xxx.html', //String类型,要打开的界面的地址 id: 'id', //String类型,要打开的界面的id styles: { //We ...
- IOS开发UI篇之──自定义加载等待框(MBProgressHUD)
本文转载至 http://blog.csdn.net/xunyn/article/details/8064984 原文地址http://www.189works.com/article-89289 ...
- (转载)Android自定义ProgressDialog进度等待框
Android自定义ProgressDialog进度等待框 作者:无缘公子 字体:[增加 减小] 类型:转载 时间:2016-01-11我要评论 这篇文章主要介绍了Android自定义Progress ...
- Hybrid App中原生页面 VS H5页面
Hybrid App中原生页面 VS H5页面 现有3类主流APP,分别为:Web App.Hybrid App(混合模式移动应用,Hybrid有"混合的"意思). Nativ ...
- mui中的关闭页面的几种方法
一.总结: mui中关闭当前页面的几种方式: 1.swipeBack(暂未测试过) 2.keyEventBind(暂未测试过) 3.给标签的class加.mui-action-back(返回的是前一个 ...
- IOS 加载中提示框
LoadingView.h #import <Foundation/Foundation.h> @class MBProgressHUD; @interface LoadingView : ...
- MVC 如何在一个同步方法(非async)方法中等待async方法
MVC 如何在一个同步方法(非async)方法中等待async方法 问题 首先,在ASP.NET MVC 环境下对async返回的Task执行Wait()会导致线程死锁.例: public Actio ...
- 关于mui 中popover与下拉刷新冲突问题
最近用mui做app混合式开发时,作为一个后端开发,高前端确实有点吃了,期间遇到的问题肯定也不少.这两天app做更新,为了装逼,将更新的提示搞得好看些,用到了mui中的popover,结果把自己整死了 ...
- boostrap中模态框显示在阴影之下
boostrap中模态框显示在阴影之下 出现这种情况的原因我开始也搞了很久,问题出现在哪里呢? 有事问百度,在百度上查了一下资料,他们主要的解决办法:是 修改标签的z-index属性的值, 我试着改了 ...
随机推荐
- vs2017下发现解决python运行出现‘No module named "XXX""的解决办法
对于使用vs2017开发python程序无疑发现,在解决方案资源管理器中设置把两个xxx.py,yyy.py文件都设置为启动文件,然后分别在vs2017这个IDE下运行这个两个文件在项目工程中运行,发 ...
- POJ 1375 Intervals 光源投影【平面几何】
<题目链接> <转载于> 题目大意: 给一个光源点s,给一些圆,源点和s相切会形成阴影,求每一段阴影在横轴上的区间. 解题分析: 这道其实不需要点与圆切线的板子来求解,完全可以 ...
- P3819 松江1843路
P3819 松江1843路sigema(r[i]*abs(x[i]-x[s]));令它最小,是带权中位数问题,s是带权中位数,s左边的r[i]之和+r[s]大于s左边的r[i]之和,反过来也成立.如果 ...
- jvm本地实战
前言 由于上次线上full gc,让我这个没有机会实战接触jvm的人,尝到了一定的甜头,同时也觉得自己还有很多东西需要去实战并总结.这是一篇记录jvm配置参数,使用jvisualvm工具来让人对j ...
- Apache目录结构解释
源地址:http://blog.51cto.com/marsman/1913676 本文主要讲述apache主要目录结构及主要配置文件 1.apache目录结构 [root@test apache]# ...
- BZOJ.2434.[NOI2011]阿狸的打字机(AC自动机 树状数组 DFS序)
题目链接 首先不需要存储每个字符串,可以将所有输入的字符依次存进Trie树,对于每个'P',记录该串结束的位置在哪,以及当前节点对应的是第几个串(当前串即根节点到当前节点):对于'B',只需向上跳一个 ...
- 洛谷.4114.Qtree1(树链剖分)
题目链接 模板题都错了这么多次.. //边权赋到点上 树剖模板 //注意LCA.链的顶端不能统计到答案! #include <cstdio> #include <cctype> ...
- 潭州课堂25班:Ph201805201 爬虫基础 第九课 图像处理- PIL (课堂笔记)
Python图像处理-Pillow 简介 Python传统的图像处理库PIL(Python Imaging Library ),可以说基本上是Python处理图像的标准库,功能强大,使用简单. 但是由 ...
- 简单的运动学,用canvas写弹力球
声明:本文为原创文章,如需转载,请注明来源WAxes,谢谢! 跟之前的随笔一样,因为本人仍是菜鸟一只,所以用到的技术比较简单,不适合大神观看...... 学canvas学了有一个多礼拜了,觉得canv ...
- jmeter测试服务器压力
http://blog.csdn.net/BobChao0730/article/details/51352768 http://blog.csdn.net/u011943953/article/de ...