Ajax加載外部頁(yè)面彈出層效果實(shí)現(xiàn)方法
本文實(shí)例講述了Ajax加載外部頁(yè)面彈出層效果實(shí)現(xiàn)方法。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:
<!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加載外部頁(yè)面的一個(gè)彈出層效果</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)
}
}
//創(chuàng)建XML對(duì)象
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='讀取頁(yè)面失敗,文件'+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')">首頁(yè) 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')">子頁(yè)面 200*500</a><br><br>
<div id="Loading" style="display:none" ondblclick="this.style.display='none'"></div>
注意:需加載的文件必須在子目錄下,也就是本文件需處于上級(jí)才行。頁(yè)面編碼UTF8。
</body>
</html>
希望本文所述對(duì)大家的javascript程序設(shè)計(jì)有所幫助。
相關(guān)文章
$.ajax()方法進(jìn)行網(wǎng)頁(yè)間傳值示例
這篇文章主要介紹了$.ajax()方法進(jìn)行網(wǎng)頁(yè)間傳值的具體實(shí)現(xiàn),需要的朋友可以參考下2014-04-04
關(guān)于Ajax異步請(qǐng)求后臺(tái)數(shù)據(jù)進(jìn)行動(dòng)態(tài)分頁(yè)功能
這篇文章主要介紹了Ajax異步請(qǐng)求后臺(tái)數(shù)據(jù)進(jìn)行動(dòng)態(tài)分頁(yè)功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧2018-06-06
基于Ajax表單提交及后臺(tái)處理簡(jiǎn)單的應(yīng)用
下面小編就為大家?guī)?lái)一篇基于Ajax表單提交及后臺(tái)處理簡(jiǎn)單的應(yīng)用。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-09-09
ajax請(qǐng)求返回的數(shù)據(jù)看不到回調(diào)函數(shù)沒(méi)有執(zhí)行也沒(méi)報(bào)錯(cuò)
ajax請(qǐng)求返回的數(shù)據(jù)看不到回調(diào)函數(shù)沒(méi)有執(zhí)行,哪里都沒(méi)有報(bào)錯(cuò),有類(lèi)似情況的朋友可以參考下本文2014-01-01
無(wú)框架 Ajax分頁(yè)(原創(chuàng))
最近想做一個(gè)Ajax的功能,網(wǎng)上一搜幾乎全是基于某某框架的Ajax分頁(yè),要么需給頁(yè)面加上<scriptManager></scriptManager>,要么需引入某dll,要么需使用類(lèi)似于jquery的框架。2009-08-08

