ajax实现页面的局部加载
时间:2018-10-29 09:34:26|栏目:AJAX相关|点击: 次
ajax如何实现页面的局部加载,具体如下
点击头部即右上角的链接时,页面会根据相应的链接加载新的内容,显示在下方;在中间区域有3栏,当点击1栏中的链接,2栏中会显现相应的内容,点击2栏中的内容,3栏中的内容又会根据2栏的链接来加载显示内容。
页面效果如下:
js代码如下:
$("header a").on("click",function(e){
e.preventDefault(); //阻止事件默认行为
var href = this.href; //记录要加载页面的链接
//更新当前连接状态
$("header a").removeClass("current");
$(this).addClass("current");
var $content = $("#content");
var $container = $("#container");
$container.remove();
$content.load(href + " #container"); //加载页面id = container的内容
});
var times; //times用来存储所有活动的环节时间表
$.ajax({
type:"get", //指定get方式
url:"example.json",
async:true,
beforeSend: function(jqXHR){
//在浏览器请求JSON数据之前,脚本会检查浏览器是否支持overrideMineType()方法。
//该方法会用来告知服务器应当返回JSON数据。
//当服务器意外配置成返回其他格式的数据时,就可以使用这个方法了
if(jqXHR.overrideMimeType){
jqXHR.overrideMimeType("application/json");
}
}
});
function loadTimeTable(){//加载example.json文件中加载时间表的数据
$.getJSON(
"example.json"
).done(function(data){ //加载成功,值被保存到times中
//console.log(data);
times = data;
}).fail(function(){ //加载失败
$("#event").html("Sorry!we could not load the timetable at the moment");
});
}
loadTimeTable(); //调用函数
//点击活动名称,将该活动的时间加载到中栏
$("#content").on("click","#event a",function(e){
e.preventDefault();
var loc = this.id.toUpperCase(); //保存活动位置的名称
var newContent = ''; //设置展示样式排版
for(var i = 0; i < times[loc].length; i++){
//alert(times[loc][i].time);
newContent += '<li><span class="time">' +times[loc][i].time +'</span>';
newContent += '<a href="descriptions.html#" rel="external nofollow" title="' +times[loc][i].title.replace(/ /g,'-')+ '">';
newContent += times[loc][i].title + '</a></li>';
}
$("#sessions").html('<ul>'+newContent+'</ul>');
$("#event a").removeClass("current"); //更新活动链接的class属性,借此凸显当前活动
$(this).addClass("current");
$("#details").text(''); //如果第三栏中包含内容,就清空它
});
//点击中栏中的环节是产生相应,它会加载环节的描述信息
$("#content").on("click","#sessions a",function(e){
e.preventDefault();
var fragment = this.href.replace('#',' #');
//更新当前连接状态
$("#details a").removeClass("current");
$(this).addClass("current");
$("#details").load(fragment+this.title); //查找到descriptions.html页面中id对应的部分加载到当前页面
});整个demo的地址
您可能感兴趣的文章
- 01-28关于Ajax发送字符串的方法,你了解多少?探讨实现细节与技巧
- 01-28如何正确设置AJAX请求中的超时时间,以避免请求无响应?
- 01-28深入探讨,AJAX技术如何巧妙融入并操作JavaScript编写实践?
- 01-28如何高效实现表单数据通过Ajax异步发送至服务器的方法详解?
- 01-28AJAX的底层原理是怎样的?从发送请求到响应数据,AJAX是如何实现的?
- 01-28如何高效实现Ajax分页处理,避免数据加载卡顿问题?
- 01-28在Ajax框架中,究竟有哪些技巧能准确识别并解析部门名称?
- 01-28如何轻松打开和解析ajax数据格式,掌握高效操作技巧?
- 01-28Ajax与后台通信,具体实现原理及方法详解疑问
- 01-28如何高效实现Ajax跨域请求?揭秘技术细节与解决方案!
阅读排行
- 1关于Ajax发送字符串的方法,你了解多少?探讨实现细节与技巧
- 2如何正确设置AJAX请求中的超时时间,以避免请求无响应?
- 3深入探讨,AJAX技术如何巧妙融入并操作JavaScript编写实践?
- 4如何高效实现表单数据通过Ajax异步发送至服务器的方法详解?
- 5AJAX的底层原理是怎样的?从发送请求到响应数据,AJAX是如何实现的?
- 6如何高效实现Ajax分页处理,避免数据加载卡顿问题?
- 7在Ajax框架中,究竟有哪些技巧能准确识别并解析部门名称?
- 8如何轻松打开和解析ajax数据格式,掌握高效操作技巧?
- 9Ajax与后台通信,具体实现原理及方法详解疑问
- 10如何高效实现Ajax跨域请求?揭秘技术细节与解决方案!
推荐教程
- 04-29浅析IE浏览器关于ajax的缓存机制
- 06-15解决Ajax方式上传文件报错"Uncaught TypeError: Illeg
- 09-12同源策略真的是Web安全的绝对防线吗?
- 04-29ajax异步读取后台传递回的下拉选项的值方法
- 10-29ajax实现页面的局部加载
- 05-29Ajax请求跨域问题解决方案分析
- 04-29在layer弹出层中通过ajax返回html拼接字符串填充数据的方法
- 04-09Ajax验证用户名是否存在的实例代码
- 11-29Ajax实现表格中信息不刷新页面进行更新数据
- 10-19爬取今日头条Ajax请求

