ajax实现页面的局部加载

所属分类: 网络编程 / AJAX相关 阅读数: 1535
收藏 0 赞 0 分享

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的地址

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

更多精彩内容其他人还在看

PHP+AJAX无刷新实现返回天气预报数据

天气数据是通过采集中国气象网站的。本来中国天气网站也给出了数据的API接口,接下来为大家介绍下用php来写一个天气预报的模块,感兴趣的朋友可以参考下
收藏 0 赞 0 分享

jQuery的ajax传参巧用JSON使用示例(附Json插件)

jQuery的ajax调用很方便,传参的时候喜欢用Json的数据格式,使用示例代码如下,感兴趣的朋友可以参考下,希望对大家有所帮助
收藏 0 赞 0 分享

ajax jquery 异步表单验证示例代码

异步表单验证想必大家早已如雷贯耳,本文为大家详细讲述下ajax jquery实现异步表单验证,感兴趣的朋友可以参考下
收藏 0 赞 0 分享

AJAX如何接收JSON数据示例介绍

如何使用AJAX返回JSON数据,就是dataType,当你设置json后返回的json字符串传递到客户端就是JSON对象了,示例如下,感兴趣的朋友可以参考下
收藏 0 赞 0 分享

ajax局部刷新一个div下jsp内容的方法

局部刷新某个div下的jsp可以通过setInterval或者是setTimeout来轻松实现,具体如下,有此需求的朋友可以参考下,希望对大家有所帮助
收藏 0 赞 0 分享

ajax交互Struts2的action(客户端/服务器端)

本文为大家探讨下ajax交互Struts2的action并有客户端及服务器端代码,感兴趣的朋友可以参考下,希望对大家有所帮助
收藏 0 赞 0 分享

Ajax工作原理深入理解

ajax是异步的意思,它有别于传统web开发中采用的同步的方式。异步传输是面向字符的传输,它的单位是字符;而同步传输是面向比特的传输,它的单位是桢,它传输的时候要求接受方和发送方的时钟是保持一致的
收藏 0 赞 0 分享

Ajax方式删除表格一行数据示例代码

Ajax方式删除信息在某些情况下还是蛮实用的,下面为大家具体介绍下Ajax方式如何删除表格一行数据,感兴趣的朋友可以了解下
收藏 0 赞 0 分享

Ajax叠加(Ajax返回数据用Ajax发出)示例代码

把参数用Ajax发送到数据库进行查询然后用Ajax将数据发送到数据库签到表,于是有了下面的代码,感兴趣的朋友可以了解下,希望对大家学习ajax有所帮助
收藏 0 赞 0 分享

Ajax长连接项目案例

所谓的长连接,就是不断去发送请求,把请求阻塞在服务器端,每次超过请求时间就去重新发送请求,下面以一个实例为大家详细介绍下,感兴趣的朋友可不要错过了哈
收藏 0 赞 0 分享
查看更多