关于页面的客户端翻页功能的实现

王朝other·作者佚名  2006-11-24
宽屏版  字体: |||超大  

前几天老板要求实现页面局步刷新的功能 在网上查了很久。 发现, 我们在做网页的局部动态刷新的功能的时候常用的方法,是iframe和 FrameSet ,不过这两种方法也有他的弊端。那就是页面的大小不好控制的问题。于是我想到了用javascript 中的 xmlhttp对象来动态的获取其他页面的信息作为本页面的一部分的方法。于是按照这个方法做了一个,效果还不错。下面把主要思路写下来 ,供大家参考!

我得思路是这样的,在主页面上编写一段javascript的小函数,执行的功能是利用xmlhttp对象根据所给的参数获得另一个页面中的数据页面,然后动态的显示在主页面中。看上去好像是没有什么问题,但是在用户交互上就不是那么好控制,因为在主页面上显示的是纯的html的代码,但是子页面上的交互功能却不好实现了。于是我就想到了在子页面上来调用主页面的javascript代码,同时给他相应的参数。这样,既实现了动态局部刷新,又保证了子页面的用户交互性。

主要代码如下 :

在主页面中用这段javascript 代码获取子页面的代码

<script language=javascript>

var oDiv

var xh

function getPageDataFromUrl(url,div)

{

oDiv = div

oDiv.innerHTML = "正在加载数据,请稍侯......."

xh = new ActiveXObject("Microsoft.XMLHTTP")

xh.onreadystatechange = getReady

xh.open("POST",url,"false");

xh.send();

}

function getReady()

{

if(xh.readyState==4)

{

if(xh.status==200)

{

strTest = xh.responseText ;

re = /form/;

strTest=strTest.replace(re,"ggggg");

oDiv.innerHTML = strTest;

}

else

{

oDiv.innerHTML = "由于:" + xh.statusText+"数据加载失败";

}

}

}

</script>

<body onload='getPageDataFromUrl("PostClubIndexList.aspx",document.all.ListBox);>

然后,在自页面中用

<A class="a_hei00" href="#" onclick="parent.getPageDataFromUrl('<%#System.Web.HttpContext.Current.Request.CurrentExecutionFilePath + "?Page=1"%>',document.all.ListBox)">首页</A></TD>

的代码来回调主页面中的javascript函数,重新传给url连接 这样就实现了页面的客户端翻页的效果。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有