Ajax加载外部页面弹出层效果实现方法

本文实例讲述了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 OpenDiv(_Dw,_Dh,_Desc) {

$("Loading").innerHTML="Loading...";

OverH=_Dh;OverW=_Dw;ChangeDesc=_Desc;

$("Loading").style.display='';

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('Msxml2.XMLHTTP')}

catch (e) {

try {ret = new ActiveXObject('Microsoft.XMLHTTP')}

catch (ee) {ret = null}

}

if (!ret&&typeof XMLHttpRequest !='undefined') 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='读取页面失败,文件'+URL+'不存在!';return}

if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {

$("Loading").innerHTML="<div class='LoadContent'>"+xmlhttp.responseText+"</div>";

}

}

xmlhttp.send(null);

}

//-->

</script>

</head>

<body>

<a href="javascript:OpenDiv(500,300,'index.html')">首页 500*300</a><br><br>

<a href="javascript:OpenDiv(500,200,'index.html')">Test 500*200</a><br><br>

<a href="javascript:OpenDiv(200,500,'l.html')">子页面 200*500</a><br><br>

<div id="Loading" style="display:none" ondblclick="this.style.display='none'"></div>

注意:需加载的文件必须在子目录下,也就是本文件需处于上级才行。页面编码UTF8。

</body>

</html>

希望本文所述对大家的javascript程序设计有所帮助。

以上是 Ajax加载外部页面弹出层效果实现方法 的全部内容, 来源链接: utcz.com/z/334321.html

回到顶部