热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

ajax实现页面的局部加载

这篇文章主要为大家详细介绍了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 ';
  newContent += '';
  newContent += times[loc][i].title + '';
 }

 $("#sessions").html('
    '+newContent+'
'); $("#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的地址

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


推荐阅读
  • 本文将详细介绍如何在ThinkPHP6框架中实现多数据库的部署,包括读写分离的策略,以及如何通过负载均衡和MySQL同步技术优化数据库性能。 ... [详细]
  • 前言--页数多了以后需要指定到某一页(只做了功能,样式没有细调)html ... [详细]
  • 本文探讨了在不使用服务器控件的情况下,如何通过多种方法获取并修改页面中的HTML元素值。除了常见的AJAX方式,还介绍了其他可行的技术方案。 ... [详细]
  • 探讨了如何解决Ajax请求响应时间过长的问题。本文分析了一个从服务器获取少量数据的Ajax请求,尽管服务器已经对JSON响应进行了缓存,但实际响应时间仍然不稳定。 ... [详细]
  • 当unique验证运到图片上传时
    2019独角兽企业重金招聘Python工程师标准model:public$imageFile;publicfunctionrules(){return[[[na ... [详细]
  • 本文详细介绍了如何利用Go语言和WebSockets技术构建一个高效的实时聊天系统。随着网络应用的日益复杂化,实时交互成为了提升用户体验的关键要素之一。通过本指南,开发者可以学习到最新的技术和最佳实践。 ... [详细]
  • 理解文档对象模型(DOM)
    本文介绍了文档对象模型(DOM)的基本概念,包括其作为HTML文档的节点树结构,以及如何通过JavaScript操作DOM来实现网页的动态交互。 ... [详细]
  • 本文探讨了如何通过WebBrowser控件在用户点击输入框时自动显示图片验证码。该过程可能涉及JavaScript事件的触发与响应。 ... [详细]
  • 本文探讨了浏览器的同源策略限制及其对 AJAX 请求的影响,并详细介绍了如何在 Spring Boot 应用中优雅地处理跨域请求,特别是当请求包含自定义 Headers 时的解决方案。 ... [详细]
  • UNP 第9章:主机名与地址转换
    本章探讨了用于在主机名和数值地址之间进行转换的函数,如gethostbyname和gethostbyaddr。此外,还介绍了getservbyname和getservbyport函数,用于在服务器名和端口号之间进行转换。 ... [详细]
  • 本文介绍如何使用阿里云的fastjson库解析包含时间戳、IP地址和参数等信息的JSON格式文本,并进行数据处理和保存。 ... [详细]
  • 本文详细介绍了中央电视台电影频道的节目预告,并通过专业工具分析了其加载方式,确保用户能够获取最准确的电视节目信息。 ... [详细]
  • 本文详细介绍了Git分布式版本控制系统中远程仓库的概念和操作方法。通过具体案例,帮助读者更好地理解和掌握如何高效管理代码库。 ... [详细]
  • 本文介绍了如何利用npm脚本和concurrently工具,实现本地开发环境中多个监听服务的同时启动,包括HTTP服务、自动刷新、Sass和ES6支持。 ... [详细]
  • 本文探讨了在通过 API 端点调用时,使用猫鼬(Mongoose)的 findOne 方法总是返回 null 的问题,并提供了详细的解决方案和建议。 ... [详细]
author-avatar
张光和尚山秀珍
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有