随着frame越来越不流行,HTML5不支持frame,iframe只有url,Div担当了这个重任
DIV+CSS在页面布局上确实很满意,使用起来也比较方便
今天突然遇到一个问题,就是需要再导入一个页面,显示在当前页面的div中
当然我可以使用 iFrame 之类的,但这不是我想要的方式
在网上查了半天,方法很多,但是有一些不满意,因为大部分都会用到JQuery
jQuery的实现将在下篇给出
而且因为要导入的页面有一些特殊的效果,不仅仅是数据,比如我导入的页面的样式一定要保持!
我要实现的是教你用Ajax实现。 大家都知道Ajax可以在不刷新页面的情况下随时异步更新数据。 功能也很强大。
而且未来HTML5也会对Ajax有更好的支持,
下面我将教大家如何使用Ajax来快速达到你的目的:
使用原生 Ajax,只需两步:
1:下载Ajaxjs文件:Ajax包下载
2:页面导入js文件
大功告成,你已经成功进入了Afake Cos的大门
那么我们来完成任务:
详细信息:Apache / Ajax / js
在页面中添加目标地址:例如
那么,另一个页面的所有代码将被导入到这个名为des的DIV中间; 我们要导入的是页面abc.html //非常适合设计模板页面
添加JS代码:
至此php上传图片到指定文件夹,目标已经实现。 页面是否完全加载? 右键查看源码,abc的url隐藏的很好,连字都隐藏了。 厉害了,呵呵
使用这个开发模板,不就是一个URL,甚至一个吗? 数字不让看,就一个字:真爽!
而且样式都是set样式,也可以用function aa{}展开js,在onload(javascript:aa())中尽情发挥
最后,让我解释一下:ajax 仍然需要一些浏览器检查。 这是最快的入门方法。 我在 FF Firefox 中测试过,一切正常。 在IE中,样式上可能会出现一些小问题,但是门都进去了。
一切都会慢慢发生,不是吗?
在 JQuery 中加载:
方法一:首先引入jquery的JS文件:
更多jQuery内部原理,请看这篇文章:
导入js并添加代码php上传图片到指定文件夹,直接写一个js函数(因为jquery和ajax都是js开发的)
只需添加 onclick="jump();" 到要触发的地方。 我发现浏览器支持可以更好。
更多负载使用,请参考完整说明:
方法二:这个方法是利用jquery的ajax
变量参数 = {
"type1":"paramer1","type2":"paramer2"};
$.ajax({
url:'myTest.php',
类型:“发布”,
数据类型:'html',
数据:参数,
错误:函数(){警报('错误');},
成功:函数(数据){
$("#myDiv").html(数据);
}
});
这个方法也可以,喜欢哪个就选哪个吧,哈哈
随附的:
jquery 加载事件使用
如果绑定到窗口对象,则在加载所有内容(包括窗口、框架、对象和图像)后触发。 如果绑定到元素,则在加载元素的内容时触发。
注意:只有在元素完全加载之前绑定了load handler,才会在加载完成后触发。 如果您稍后绑定,它将永远不会触发。 所以不要在$(document).ready()中绑定load事件,因为jQuery会在所有DOM加载完成后才绑定load事件。
调用load方法的完整格式为:load( url, [data], [callback] ),
在:
url:指要导入的文件地址。
数据:可选参数; 因为Load不仅可以导入静态html文件,还可以导入动态脚本,比如PHP文件,所以在导入动态文件的时候,我们可以把要传递的参数放在这里。 回调:可选参数; 指的是调用load方法,服务器响应后执行的另一个函数。
一:如何使用数据
1.加载一个不包含传递参数的php文件
$("#myID").load("test.php");
//在id为#myID的元素中导入test.php的运行结果
2.加载一个包含传递参数的php文件
$("#myID").load("test.php",{"name" : "Adam"});
//导入的php文件包含一个传递参数,类似:test.php?name=Adam
3.加载一个包含多个传递参数的php文件。注意:参数之间用逗号隔开
$("#myID").load("test.php",{"name": "Adam","site":"61dh.com"});
//导入的php文件包含一个传递参数,类似:test.php?name=Adam&site=61dh.com
4.加载一个传递数组作为参数的php文件
$("#myID").load("test.php",{'myinfo[]', ["亚当", "61dh.com"]});
//导入的php文件包含一个数组来传递参数。
注意:在使用load的时候,这些参数都是以POST的形式传递的,所以在test.php中,不能使用GET来获取参数。
二:如何使用回调
比如我们想在load方法得到服务器响应后慢慢显示加载的内容,就可以使用回调函数。 代码如下:
$("#go").点击(函数(){
$("#myID").load("welcome.php", {"lname" : "蔡", "fname" : "亚当", function(){
$("#myID"). fadeIn('慢');}
);
});
评论:
在加载的url中加一个空格就可以跟随选择器了。
例如:
$("body").load("test.html #a");