appextend.js是自己编写的一个手机网页过渡时显示loading的一个js插件。

appextend.js :

var appExtend = function () {
this.setHide = null;
var $that = this;
function hideDialogDiv() {
$("#diag_bg_Box_x900AEB76").hide();
}; function addDialogDiv(obj) {
var windowHeight = $(document).height(); if (obj != null) {
windowHeight = $(obj).height();
} var html = "<div id=\"diag_bg_Box_x900AEB76\" class=\"diagBg\" style='height:" + windowHeight + "px; '><div id=\"diag_box_guid_x3F9AE\" class=\"diagContent\"><div id='dia_box_close_x3EB01F' onclick=\" $('#diag_bg_Box_x900AEB76').hide()\" style=\"border: 1px solid black;width: 19px;height: 15px;float: right;background:url('/Content/images/xx.png');position: relative;top: 18px;\"></div><div id=\"diag_content_box_x099065E3\" style=\"width:100%;height:100%;overflow:hidden;text-aline:center\"></div></div></div>"; if (obj != null) {
$(obj).append(html);
} else {
$("body").append(html);
}
}; function MessageBoxShow(obj, message, opt, fn) {
//try {
if ($("#diag_bg_Box_x900AEB76") != null && $("#diag_bg_Box_x900AEB76").length > 0) { } else {
addDialogDiv(obj);
} $("#diag_bg_Box_x900AEB76").css({ "left": 0 }).show();
$("#diag_content_box_x099065E3").html(message);
/*选项*/
if (opt != null) {
/*透明度*/
//if (opt.opacity != null && Number(opt.opacity) > 0) {
// $("#diag_bg_Box_x900AEB76").css({ opacity: Number(opt.opacity) / 100 });
//} else {
// $("#diag_bg_Box_x900AEB76").css({ opacity: 0.3 });
//}
/*关闭按钮*/
if (opt.close != null && !opt.close) {
$("#dia_box_close_x3EB01F").hide();
} else {
$("#dia_box_close_x3EB01F").show();
}
/*高度*/
if (opt.height != null) {
$("#diag_bg_Box_x900AEB76").css("height", opt.height);
} else {
var dh = obj != null ? $(obj).height() : $(document).height();
$("#diag_bg_Box_x900AEB76").css("height", opt.height);
}
/*边框*/
if (opt.border != null) {
$("#diag_content_box_x099065E3").css("border", opt.border);
} else {
$("#diag_content_box_x099065E3").css("border", "none");
} if (opt.bgzindex != null) {
$("#diag_bg_Box_x900AEB76").css("z-index", opt.bgzindex);
} else {
$("#diag_bg_Box_x900AEB76").css("z-index", "666");
}
if (opt.scrolltop != null) {
var top = $(window).scrollTop();
$("#diag_box_guid_x3F9AE").css("top", Number(top) + 100 + "px");
} else {
$("#diag_box_guid_x3F9AE").css("top", "30%");
}
if (opt.nobackimg != null) {
$("#diag_bg_Box_x900AEB76").css("background", "none");
} else {
$("#diag_bg_Box_x900AEB76").css("background", "url(../Content/images/pl_bg1.png) 0 0 repeat;");
}
} $("#diag_box_guid_x3F9AE").slideDown("fast"); if (fn != null && typeof fn === "function") {
fn();
} //} catch (e) {
// console.log(e.message);
//} }; /****propertys*****/
this.isHide = $("#diag_bg_Box_x900AEB76").is(':hidden'); //show loading background and image
this.showLoading = function (opt, loadthem, clearnHide) {
if (clearnHide) {
clearTimeout($that.setHide);
}
var _h = $(window).height();
opt = opt || {};
opt.close = false;
var loadstr = "";
switch (loadthem) {
case 'a':
loadstr = '<img style="margin-top:' + _h * 0.2 + 'px" src="/Content/images/ajax-loader.gif" />';
break;
case 'b':
loadstr = '<div class="loader"></div>';
break;
case 'c':
loadstr = '<div class="loader6"></div>';
break;
case 'd':
loadstr = '<div class="loader8"></div>';
break;
default:
loadstr = '<img style="margin-top:' + _h * 0.2 + 'px" src="/Content/images/ajax-loader.gif" />';
}
MessageBoxShow(null, loadstr, opt);
};
//hide loading background and image
this.loadingHide = function (t) {
t = t || "hide";
switch (t) {
case "hide":
$("#diag_bg_Box_x900AEB76").hide();
break;
case "slide":
$("#diag_bg_Box_x900AEB76").animate({ left: 0 - $(window).width() }, 1000, function () { $("#diag_bg_Box_x900AEB76").hide(); });
break;
case "slideUp":
$("#diag_bg_Box_x900AEB76").slideUp();
break;
default:
$("#diag_bg_Box_x900AEB76").hide();
}
};
this.transfer = function () {
var _h = $(window).height();
$("a[href*='/']").bind("click", function () {
// addDialogDiv({});
MessageBoxShow(null, '<img style="margin-top:' + _h * 0.2 + 'px" src="/Content/images/ajax-loader.gif" />', { close: false });
});
};
} var _app = new appExtend();
_app.showLoading(); $(function () {
_app.transfer();
_app.setHide = setTimeout(function () { _app.loadingHide("slide"); }, 300); });

css:

/****************遮罩样式****************/
.diagBg {
text-align: center;
position: absolute;
left: 0pt;
top: 0pt;
width: 100%;
z-index: 666;
/*-moz-opacity: 0.3;
opacity: .30;
filter: alpha(opacity = 30);*/
background: url(../Content/images/pl_bg1.png) 0 0 repeat;
} .diagContent {
position: absolute;
left: 10%;
top: 30%;
width: 80%;
height: 60%;
z-index: 999;
text-align: center;
} /**************laod***********/
.loader,
.loader:before,
.loader:after {
border-radius: 50%;
} .loader:before,
.loader:after {
position: absolute;
content: '';
} .loader:before {
width: 2.6em;
height: 5.2em;
background: #FFFFFF;
border-radius: 10.2em 0 0 10.2em;
top: -0.1em;
left: -0.1em;
-webkit-transform-origin: 2.6em 2.6em;
transform-origin: 2.6em 2.6em;
-webkit-animation: load2 2s infinite ease 1.5s;
animation: load2 2s infinite ease 1.5s;
} .loader {
font-size: 11px;
text-indent: -99999em;
margin: 30% auto;
position: relative;
width: 5em;
height: 5em;
box-shadow: inset 0 0 0 1em #999;
} .loader:after {
width: 2.6em;
height: 5.2em;
background: #FFFFFF;
border-radius: 0 3.2em 3.2em 0;
top: -0.1em;
left: 2.5em;
-webkit-transform-origin: 0px 2.6em;
transform-origin: 0px 2.6em;
-webkit-animation: load2 2s infinite ease;
animation: load2 2s infinite ease;
} @-webkit-keyframes load2 {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
} 100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
} @keyframes load2 {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
} 100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
} .loader6 {
font-size: 45px;
text-indent: -9999em;
overflow: hidden;
width: 1em;
height: 1em;
border-radius: 50%;
margin: 33% auto;
position: relative;
-webkit-animation: load6 1.7s infinite ease;
animation: load6 1.7s infinite ease;
} @-webkit-keyframes load6 {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
box-shadow: -0.11em -0.83em 0 -0.4em #999, -0.11em -0.83em 0 -0.42em #999, -0.11em -0.83em 0 -0.44em #999, -0.11em -0.83em 0 -0.46em #999, -0.11em -0.83em 0 -0.477em #999;
} 5%, 95% {
box-shadow: -0.11em -0.83em 0 -0.4em #999, -0.11em -0.83em 0 -0.42em #999, -0.11em -0.83em 0 -0.44em #999, -0.11em -0.83em 0 -0.46em #999, -0.11em -0.83em 0 -0.477em #999;
} 30% {
box-shadow: -0.11em -0.83em 0 -0.4em #999, -0.51em -0.66em 0 -0.42em #999, -0.75em -0.36em 0 -0.44em #999, -0.83em -0.03em 0 -0.46em #999, -0.81em 0.21em 0 -0.477em #999;
} 55% {
box-shadow: -0.11em -0.83em 0 -0.4em #999, -0.29em -0.78em 0 -0.42em #999, -0.43em -0.72em 0 -0.44em #999, -0.52em -0.65em 0 -0.46em #999, -0.57em -0.61em 0 -0.477em #999;
} 100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
box-shadow: -0.11em -0.83em 0 -0.4em #999, -0.11em -0.83em 0 -0.42em #999, -0.11em -0.83em 0 -0.44em #999, -0.11em -0.83em 0 -0.46em #999, -0.11em -0.83em 0 -0.477em #999;
}
} @keyframes load6 {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
box-shadow: -0.11em -0.83em 0 -0.4em #ffffff, -0.11em -0.83em 0 -0.42em #ffffff, -0.11em -0.83em 0 -0.44em #ffffff, -0.11em -0.83em 0 -0.46em #ffffff, -0.11em -0.83em 0 -0.477em #ffffff;
} 5%, 95% {
box-shadow: -0.11em -0.83em 0 -0.4em #ffffff, -0.11em -0.83em 0 -0.42em #ffffff, -0.11em -0.83em 0 -0.44em #ffffff, -0.11em -0.83em 0 -0.46em #ffffff, -0.11em -0.83em 0 -0.477em #ffffff;
} 30% {
box-shadow: -0.11em -0.83em 0 -0.4em #ffffff, -0.51em -0.66em 0 -0.42em #ffffff, -0.75em -0.36em 0 -0.44em #ffffff, -0.83em -0.03em 0 -0.46em #ffffff, -0.81em 0.21em 0 -0.477em #ffffff;
} 55% {
box-shadow: -0.11em -0.83em 0 -0.4em #ffffff, -0.29em -0.78em 0 -0.42em #ffffff, -0.43em -0.72em 0 -0.44em #ffffff, -0.52em -0.65em 0 -0.46em #ffffff, -0.57em -0.61em 0 -0.477em #ffffff;
} 100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
box-shadow: -0.11em -0.83em 0 -0.4em #ffffff, -0.11em -0.83em 0 -0.42em #ffffff, -0.11em -0.83em 0 -0.44em #ffffff, -0.11em -0.83em 0 -0.46em #ffffff, -0.11em -0.83em 0 -0.477em #ffffff;
}
} .loader8 {
margin: 6em auto;
font-size: 10px;
position: relative;
text-indent: -9999em;
border-top: 1.1em solid rgba(255, 255, 255, 0.3);
border-right: 1.1em solid rgba(255, 255, 255, 0.3);
border-bottom: 1.1em solid rgba(255, 255, 255, 0.3);
border-left: 1.1em solid #ffffff;
-webkit-animation: load8 1.1s infinite linear;
animation: load8 1.1s infinite linear;
} .loader8,
.loader8:after {
border-radius: 50%;
width: 2.5em;
height: 2.5em;
} @-webkit-keyframes load8 {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
} 100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
} @keyframes load8 {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
} 100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
}

实际应用1:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="format-detection=no,initial-scale=1.0,maximum-scale=1.0,user-scalable=0,width=device-width" />
@Styles.Render("~/Content/public")
<script src="~/Scripts/lib/jquery-1.8.2.min.js"></script> </head> <body style="background:#F0F0F0;">
@Scripts.Render("~/bundles/appextend")
.......................

应用2:

在页面加载后加载数据效果:

js:

/// <reference path="../AppExtends.js" />
/// <reference path="base.js" />
/// <reference path="../lib/underscore.js" />
/// <reference path="../lib/iscroll.js" /> var shopcar = new basejs();
shopcar.ready = function (s) {
var model = shopcar.model;
_app.showLoading({ nobackimg: true }, 'd', true);
this.base.calcSize(); ......

appExtend.js的更多相关文章

  1. Vue.js 和 MVVM 小细节

    MVVM 是Model-View-ViewModel 的缩写,它是一种基于前端开发的架构模式,其核心是提供对View 和 ViewModel 的双向数据绑定,这使得ViewModel 的状态改变可以自 ...

  2. js学习笔记:操作iframe

    iframe可以说是比较老得话题了,而且网上也基本上在说少用iframe,其原因大致为:堵塞页面加载.安全问题.兼容性问题.搜索引擎抓取不到等等,不过相对于这些缺点,iframe的优点更牛,跨域请求. ...

  3. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  4. JS调用Android、Ios原生控件

    在上一篇博客中已经和大家聊了,关于JS与Android.Ios原生控件之间相互通信的详细代码实现,今天我们一起聊一下JS调用Android.Ios通信的相同点和不同点,以便帮助我们在进行混合式开发时, ...

  5. jquery和Js的区别和基础操作

    jqery的语法和js的语法一样,算是把js升级了一下,这两种语法可以一起使用,只不过是用jqery更加方便 一个页面想要使用jqery的话,先要引入一下jqery包,jqery包从网上下一个就可以, ...

  6. 利用snowfall.jquery.js实现爱心满屏飞

    小颖在上一篇一步一步教你用CSS画爱心中已经分享一种画爱心的方法,这次再分享一种方法用css画爱心,并利用snowfall.jquery.js实现爱心满屏飞的效果. 第一步: 利用伪元素before和 ...

  7. node.js学习(三)简单的node程序&&模块简单使用&&commonJS规范&&深入理解模块原理

    一.一个简单的node程序 1.新建一个txt文件 2.修改后缀 修改之后会弹出这个,点击"是" 3.运行test.js 源文件 使用node.js运行之后的. 如果该路径下没有该 ...

  8. JS正则表达式常用总结

    正则表达式的创建 JS正则表达式的创建有两种方式: new RegExp() 和 直接字面量. //使用RegExp对象创建 var regObj = new RegExp("(^\\s+) ...

  9. 干货分享:让你分分钟学会 JS 闭包

    闭包,是 Javascript 比较重要的一个概念,对于初学者来讲,闭包是一个特别抽象的概念,特别是ECMA规范给的定义,如果没有实战经验,很难从定义去理解它.因此,本文不会对闭包的概念进行大篇幅描述 ...

  10. JS核心系列:理解 new 的运行机制

    和其他高级语言一样 javascript 中也有 new 运算符,我们知道 new 运算符是用来实例化一个类,从而在内存中分配一个实例对象. 但在 javascript 中,万物皆对象,为什么还要通过 ...

随机推荐

  1. 劉玥 的国内网站 —— https://spicy-gum.com

    劉玥 的国内网站 -- https://spicy-gum.com

  2. .NET 创建动态方法方案及 Natasha V9

    前言 本篇文章前面客观评估了 .NET 创建动态方方案多个方面的优劣,后半部分是 Natasha V9 的新版特性. .NET 中创建动态方法的方案 创建动态方法的不同选择 以下陈列了几种创建动态方法 ...

  3. MySQL无开通SQL全审计下的故障分析方法

    几年前MySQL数据库出现突然的从库延迟故障和CPU爆高时,如何排查具体原因,可能说已在腾讯云的MySQL库里开启了SQL全审计,记录了全部执行的SQL,再通过下面的方法就可以很容易找到原因: 1,实 ...

  4. Vulhub WebLogic漏洞复现

    目录 前言 任意文件上传漏洞(CVE-2018-2894) 管理控制台未授权RCE漏洞(CVE-2020-14882 & CVE-2020-14883) 未授权RCE漏洞(CVE-2023-2 ...

  5. 无加密的机密性:Chaffing and Winnowing原理和C#实验仿真

    最近在Crypto 2023上看到一篇有趣的文章[1],其旨在一个存在拥有所有密钥并知道所有消息的"独裁者"的信道中,通过安排与常规密文无法区分的隐藏的"变形" ...

  6. MySQL管理工具之Beekeeper Studio

    简介 Beekeeper Studio 是一个跨平台的 SQL 编辑器和数据库管理客户端,可以在 Linux.Mac.Windows 上使用. Beekeeper Studio 社区版是免费开源的,支 ...

  7. docker-compose之基础(1)

    安装: 1)经常因为由于网络原因,导致安装不成功 curl -L https://github.com/docker/compose/releases/download/1.24.1/docker-c ...

  8. Vue.js 文本交替滚动

    1.前言 当一段文本需要单行显示,但是又限于容器宽度无法完全展示时,我们需要对其滚动展示,所以就有了这个插件,如图: 2.封装思路 使用js模拟循环滚动的动画,容器宽度固定且超出隐藏,文本元素禁止换行 ...

  9. metasploit模块

    模块类型 辅助模块(Auxiliary) 渗透攻击模块(Exploits) 后渗透攻击模块(Post) 攻击载荷模块(Payloads) 空指令模块(Nops) 编码器模块(Encoders) 后渗透 ...

  10. 【Python】【爬虫】【爬狼】001_urllib_get_获取响应结果页面代码

    情况说明 本节课我们要处理的网站是 www.yhdmp.cc 注意:腾讯报毒该网址.问题不大,基本这种盗版动漫的网站都会报毒吧.如果不放心可以自己找个其他的网站爬,我这个也是随便找的. 该网站搜索提交 ...