>웹 프론트엔드 >JS 튜토리얼 >Ajax 로딩 외부 페이지 팝업 레이어 효과 구현 방법

Ajax 로딩 외부 페이지 팝업 레이어 효과 구현 방법

亚连
亚连원래의
2018-05-25 11:26:101715검색

이 글은 주로 Ajax 로딩 팝업 레이어 구현 기술을 포함하여 외부 페이지 로딩의 팝업 레이어 효과를 구현하는 방법을 소개합니다. 매우 간단하고 실용적입니다.

The 이 기사의 예에서는 Ajax 외부 페이지 로딩 방식의 팝업 레이어 효과 구현을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 구현 방법은 다음과 같습니다.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Ajax加载外部页面的一个弹出层效果</title>
<style>
body {margin:0px}
#Loading {position:absolute;z-index:10;left:10px;top:10px;border:1px #666666 solid;background:#eeeeee;width:10px;height:10px}
.LoadContent {width:100%;height:100%;overflow:auto}
</style>
<script LANGUAGE="JavaScript"> 
<!-- 
function $(){return document.getElementById?document.getElementById(arguments[0]):eval(arguments[0]);}
var OverH,OverW,ChangeDesc,ChangeH=50,ChangeW=50;
function Openp(_Dw,_Dh,_Desc) {
$("Loading").innerHTML="Loading...";
OverH=_Dh;OverW=_Dw;ChangeDesc=_Desc;
$("Loading").style.display=&#39;&#39;;
if(_Dw>_Dh){ChangeH=Math.ceil((_Dh-10)/((_Dw-10)/50))}else if(_Dw<_Dh){ChangeW=Math.ceil((_Dw-10)/((_Dh-10)/50))}
$("Loading").style.top=(document.documentElement.clientHeight-10)/2+"px";
$("Loading").style.left=(document.documentElement.clientWidth-10)/2+"px";
OpenNow()
}
var Nw=10,Nh=10;
function OpenNow() {
if (Nw>OverW-ChangeW)ChangeW=2;
if (Nh>OverH-ChangeH)ChangeH=2;
Nw=Nw+ChangeW;Nh=Nh+ChangeH;
if(OverW>Nw||OverH>Nh) {
if(OverW>Nw) {
$("Loading").style.width=Nw+"px";
$("Loading").style.left=(document.documentElement.clientWidth-Nw)/2+"px";
}
if(OverH>Nh) {
$("Loading").style.height=Nh+"px";
$("Loading").style.top=(document.documentElement.clientHeight-Nh)/2+"px"
}
window.setTimeout("OpenNow()",10)
}else{
Nw=10;Nh=10;ChangeH=50;ChangeW=50;
AjaxGet(ChangeDesc)
}
}
//创建XML对象
function createXMLHttps(){
var ret = null;
try {ret = new ActiveXObject(&#39;Msxml2.XMLHTTP&#39;)}
catch (e) {
try {ret = new ActiveXObject(&#39;Microsoft.XMLHTTP&#39;)}
catch (ee) {ret = null}
}
if (!ret&&typeof XMLHttpRequest !=&#39;undefined&#39;) ret = new XMLHttpRequest();
return ret;
}
function AjaxGet(URL) {
var xmlhttp = createXMLHttps();
xmlhttp.open("Get",URL,true);
xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status==404) {$("Loading").innerHTML=&#39;读取页面失败,文件&#39;+URL+&#39;不存在!&#39;;return}
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
$("Loading").innerHTML="<p class=&#39;LoadContent&#39;>"+xmlhttp.responseText+"</p>";
}
}
xmlhttp.send(null);
}
//-->
</script> 
</head>
<body>
<a href="javascript:Openp(500,300,&#39;index.html&#39;)">首页 500*300</a><br><br>
<a href="javascript:Openp(500,200,&#39;index.html&#39;)">Test 500*200</a><br><br>
<a href="javascript:Openp(200,500,&#39;l.html&#39;)">子页面 200*500</a><br><br>
<p id="Loading" style="display:none" ondblclick="this.style.display=&#39;none&#39;"></p>
注意:需加载的文件必须在子目录下,也就是本文件需处于上级才行。页面编码UTF8。
</body>
</html>

위 내용은 앞으로 모든 사람에게 도움이 되기를 바랍니다.

관련 기사:

Ajax 크로스 도메인(동일한 기본 도메인 이름) 양식 제출 방법

AJAX 제출 양식 데이터 예시 분석

Ajax 관련 및 장점과 단점에 대한 간략한 토론

위 내용은 Ajax 로딩 외부 페이지 팝업 레이어 효과 구현 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.