1.参考一:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>ajax加载loading图标</title>
</head>
<body>
<form id="test-form" action="test.php" method="post">
<input type="text" name="username">
</form>
<button id="btn">提交</button>
<div id="loading"></div>
<div id="res"></div>
</body>
<script>
$('#btn').click(function(){
$.ajax({
url:$('#test-form').attr('action'), //发送后台的url
type:'post',
data:$('#test-form').serialize(), //序列化表单内容
dataType:'text', //后台返回的数据类型
timeout:15000, //超时时间
beforeSend:function(XMLHttpRequest){
$("#loading").html("<img src='./images/loading.gif' />"); //在后台返回success之前显示loading图标
},
success:function(data){ //data为后台返回的数据
$("#loading").empty(); //ajax返回成功,清除loading图标
$('#res').html('ajax请求成功!');
}
});
});
</script>
</html>
2.参考二:
- //获取浏览器页面可见高度和宽度
- 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(/Content/loading.gif) no-repeat scroll 5px 10px; border: 2px solid #95B8E7; color: #696969; font-family:\'Microsoft YaHei\';">页面加载中,请等待...</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);
- }
- }