两种页面加载等待效果的实现

第一种,当打开一个新的页面时,这个页面的加载时间可能会比较长,可以用以下js实现页面等待效果,将该js导入加载的页面即可使用

//获取浏览器页面可见高度和宽度
var _PageHeight = document.documentElement.clientHeight,
    _PageWidth = document.documentElement.clientWidth;
//计算loading框距离顶部和左部的距离(loading框的宽度为215px,高度为61px)
var _LoadingTop = _PageHeight > 61 ? (_PageHeight - 61) / 2 : 0,
    _LoadingLeft = _PageWidth > 215 ? (_PageWidth - 215) / 2 : 0;
//在页面未加载完毕之前显示的loading Html自定义内容
var _LoadingHtml = ‘<div id="loadingDiv" style="position:absolute;left:0;width:100%;height:‘ + _PageHeight + ‘px;top:0;background:#f3f8ff;opacity:0.8;filter:alpha(opacity=80);z-index:10000;"><div style="position: absolute; cursor1: wait; left: ‘ + _LoadingLeft + ‘px; top:‘ + _LoadingTop + ‘px; width: auto; height: 57px; line-height: 57px; padding-left: 50px; padding-right: 5px; background: #fff url(/images/loading.gif) no-repeat scroll 5px 10px; border: 2px solid #95B8E7; color: #696969; font-family:\‘Microsoft YaHei\‘;">重置密码中,请等待... &nbsp;&nbsp;</div></div>‘;
//呈现loading效果
document.write(_LoadingHtml);

//window.onload = function () {
//    var loadingMask = document.getElementById(‘loadingDiv‘);
//    loadingMask.parentNode.removeChild(loadingMask);
//};

//监听加载状态改变
document.onreadystatechange = completeLoading;

//加载状态为complete时移除loading效果
function completeLoading() {
    if (document.readyState == "complete") {
        var loadingMask = document.getElementById(‘loadingDiv‘);
        loadingMask.parentNode.removeChild(loadingMask);
    }
}

第二种,当点击页面等待后台操作完成的时候,如果后台处理量比较大等待时间比较长,可以用以下方法实现,该方法基于easyUI,关于easyUI不再赘述

function onloading(){
    $("<div class=\"datagrid-mask\"></div>").css({display:"block",width:"100%",height:$(window).height()}).appendTo("body");
    $("<div class=\"datagrid-mask-msg\"></div>").html("执行中,请稍候。。。").appendTo("body").css({display:"block",left:($(document.body).outerWidth(true) - 190) / 2,top:($(window).height() - 45) / 2});
}
function removeload(){
    $(".datagrid-mask").remove();
    $(".datagrid-mask-msg").remove();
}

原文地址:https://www.cnblogs.com/liesun/p/9243913.html

时间: 2024-10-06 11:30:00

两种页面加载等待效果的实现的相关文章

两种动态加载JavaScript文件的方法

两种动态加载JavaScript文件的方法 第一种便是利用ajax方式,第二种是,动静创建一个script标签,配置其src属性,经过把script标签拔出到页面head来加载js,感乐趣的网友可以看下 动态加载script到页面大约有俩方法 第一种便是利用ajax方式,把script文件代码从背景加载到前台,而后对加载到的内容经过eval()实施代码.第二种是,动静创建一个script标签,配置其src属性,经过把script标签插入到页面head来加载js,相当于正在head中写了一个<sc

unity 3D里有两种动态加载机制

unity 3D里有两种动态加载机制: 一是Resources.Load: 一是通过AssetBundle: 其实两者本质上没有什么区别.Resources.Load就是从一个缺省打进程序包里的AssetBundle里加载资源,而一般AssetBundle文件需要你自己创建,运行时动态加载,可以指定路径和来源的.其实场景里所有静态的对象也有这么一个加载过程,只是Unity后台替你自动完成了. 1.    AssetBundles是什么? 在一些大型的网络游戏,或者加载比较多的一些场景时,如果要等

极客编程挑战#018:设计独一无二的页面 ”加载中“ 效果

本期挑战 请使用以下开练 LOGO 素材 为基础(三选一即可): 图片(base64):http://www.gbtags.com/gb/rtreplayerpreview/808.htm SVG图形:http://www.gbtags.com/gb/rtreplayerpreview/809.htm 或者基于以上图形的的自定义LOGO设计 挑战要求: 使用你所熟悉的任意前端技术(JS,CSS3,画布,SVG动画等等),生成一个漂亮动态的 ”页面加载中“ 效果,持续5秒后,页面即导向地址:htt

jquery Mobile点击显示加载等待效果

点击某个按钮或链接时,触发等待加载效果: Xml代码   <script> <!-- $(document).bind("mobileinit", function(){ }); $( function() { //默认设置,一个小圈圈在转 $('#default').live( 'tap', function() { $.mobile.loadingMessageTextVisible = false; $.mobile.showPageLoadingMsg();

手机站全局的html+css加载等待效果

本文只提供思路,CSS神马的自己定制吧,JS是可以优化的,比如,输出图片的JS也可以放到showdiv()里面,我没有做优化,只是实现,别笑话我,我比较懒... 基本思路:由于Html的解析是从上到下的,所以,可以在母版页(MVC中的LayOut)页面最上面输出一个遮罩层和一张等待效果的图片,这样子,页面打开的时候,就会有一个等待效果了.代码如下: 注意:下面这些代码一定是放到页面的最前面的,放到后面可能就不太好了. 1 <head> 3 <style type="text/c

JQuery的几种页面加载完执行三种方式

jquery加载页面的方法(页面加载完成就执行) 1. 1 $(function(){ 2 $("#a").click(function(){ 3 //adding your code here 4 }); 5 }); 2. 1 $(document).ready(function(){ 2 $("#a").click(function(){ 3 //adding your code here 4 }); 5 }); 3. 1 window.onload = fun

selenium 学习-js执行,事件模拟,页面加载等待

selenium  使用的时候要注意 1,浏览器的版本 2,和对应 jar 包 3,浏览器的环境变量设置 System.setProperties("key","value") 如下(创建浏览器对象): System.getProperties().setProperty("phantomjs.binary.path", ""phantomjs-2.1.1-windows/bin/phantomjs.exe"&quo

Spring中IoC - 两种ApplicationContext加载Bean的配置

说明:Spring IoC其实就是在Service的实现中定义了一些以来的策略类,这些策略类不是通过 初始化.Setter.工厂方法来确定的.而是通过一个叫做上下文的(ApplicationContext)组建来加载进来的.这里介绍两种Context组建的构件过程 前提条件:在Gradle工程的build.gradle文件中引入对Spring framework 的支持 repositories { mavenCentral() } dependencies { compile group: '

两种数据加载动画

android 数据加载动画: <FrameLayout android:layout_centerInParent="true" android:layout_width="wrap_content" android:layout_height="wrap_content" > <RelativeLayout android:id="@+id/rl_loading" android:layout_width