JS-利用ajax获取json数据,并传入页面生成动态tab

简介: 封装好的:ajax.js 1 function ajax(url, fnSucc,fnFaild){ 2 //1【创建】 3 if(window.XMLHttpRequest){ 4 var oAjax = new XMLHttpRequest(); 5 ...

封装好的:ajax.js

 1 function ajax(url, fnSucc,fnFaild){
 2     //1【创建】
 3     if(window.XMLHttpRequest){
 4         var oAjax = new XMLHttpRequest();
 5     }else{
 6         var oAjax = new ActiveXObject("Microsoft.XMLHTTP");
 7     };
 8     
 9     //2: 【连接】true:表示异步
10     oAjax.open('GET',url,true);
11     
12     //3:【发送】
13     oAjax.send();
14     
15     //4:【接受】
16     oAjax.onreadystatechange = function(){
17         
18         //判断浏览器操作到哪一步
19         if(oAjax.readyState == 4){//4:读取完成
20             if(oAjax.status==200){
21                 fnSucc(oAjax.responseText);
22             }else{
23                 if(fnFaild){
24                     fnFaild(oAjax.status);
25                 }
26             }
27             
28         }
29     }
30 }

结构与js代码:

  1 <!DOCTYPE html>
  2 <html>
  3 <!--
  4     作者:702004176@qq.com
  5     时间:2017-04-10
  6     描述:
  7 -->
  8     <head>
  9         <meta charset="UTF-8">
 10         <title>ajax+tab</title>
 11         <meta name="Description" content="ajax获取json数据,并传入页面" />
 12         <meta name="author" content="郭菊锋702004176@qq.com"/>
 13         <script src="ajax.js" type="text/javascript" charset="utf-8"></script>
 14         <style type="text/css">
 15             * {
 16                 margin: 0;
 17             }
 18             
 19             body {
 20                 font-family: "微软雅黑";
 21             }
 22             
 23             li {
 24                 list-style: none;
 25             }
 26             
 27             a {
 28                 text-decoration: none;
 29                 color: #000;
 30             }
 31             
 32             a:hover {
 33                 text-decoration: underline;
 34                 color: #194090;
 35             }
 36             
 37             .clearfix:after {
 38                 content: "";
 39                 clear: both;
 40                 display: block;
 41             }
 42             
 43             .tabWrap {
 44                 overflow: hidden;
 45                 width: 611px;
 46                 margin: 100px auto;
 47             }
 48             
 49             .ulWrap {
 50                 padding: 0;
 51             }
 52             
 53             .ulWrap li {
 54                 overflow: hidden;
 55                 float: left;
 56                 width: 199px;
 57                 height: 50px;
 58                 line-height: 50px;
 59                 margin-right: 3px;
 60                 text-align: center;
 61                 color: #DFE9F6;
 62                 background: #5884CF;
 63             }
 64             
 65             .ulWrap li.Ahover,
 66             .ulWrap li:hover {
 67                 cursor: pointer;
 68                 background: #194090;
 69             }
 70             
 71             .tabWrap div {
 72                 overflow: hidden;
 73                 width: 591px;
 74                 padding: 20px;
 75                 padding: 15px 5px;
 76                 background: #f1f2f3;
 77                 border: 1px solid #5884CF;
 78                 border-top: 0;
 79             }
 80             
 81             .tabWrap div.hide {
 82                 display: none;
 83             }
 84             
 85             .tabWrap div p {
 86                 margin-top: 10px;
 87             }
 88             
 89             
 90             .tabWrap div img:hover {
 91                 -webkit-box-shadow: 1px 2px 4px 1px #8aa59f;
 92                 box-shadow: 1px 2px 4px 1px #8aa59f;
 93             }
 94         </style>
 95     </head>
 96 
 97     <body>
 98         <div class="tabWrap" id="tabWrap">
 99             <ul class="ulWrap clearfix" id="ulWrap">
100             </ul>
101         </div>
102         <script type="text/javascript">
103             window.onload = function() {
104                 var ulWrap = document.getElementById("ulWrap"),
105                     tabWrap = document.getElementById("tabWrap"),
106                     txtArea = document.getElementById("txtArea"),
107                     oLi = ulWrap.getElementsByTagName('li'),
108                     oDiv = tabWrap.getElementsByTagName('div');
109                 ajax('tab.json', function(str) {
110                     var str = str;
111                     var oJson = (new Function('return (' + str + ')'))();
112                     var a = oJson['tab'];
113                     //for 1-dom
114                     for (var i = 0; i < a.length; i++) {
115                         var ali = document.createElement("li");
116                         var adiv = document.createElement("div");
117                         ali.innerHTML = a[i]['title'];
118                         adiv.innerHTML = "<a href='#'><img src='" + a[i]['image'] + "'/></a><p><a href='#'>" + a[i]['descript1'] + "</a></p><p><a href='#'>" + a[i]['descript2'] + "</a></p><p><a href='#'>" + a[i]['descript3'] + "</p><p><a href='#'>" + a[i]['descript4'] + "</a></p>";
119                         ulWrap.appendChild(ali);
120                         tabWrap.appendChild(adiv);
121                         var index = i;
122                         if (index == 0) {
123                             ali.className = "Ahover"
124                         } else {
125                             adiv.className = "hide"
126                         }
127                     }
128                     //for 1 end
129 
130                     //for 2-tab
131                     for (var i = 0; i < oLi.length; i++) {
132                         oLi[i].index = i;
133                         oLi[i].onclick = function() {
134                             for (var j = 0; j < oLi.length; j++) {
135                                 oLi[j].className = "";
136                                 oDiv[j].className = "hide";
137                             }
138                             this.className = "Ahover";
139                             oDiv[this.index].className = "";
140                         }
141                     }
142                     //for 2 end
143                 })
144             }
145         </script>
146     </body>
147 
148 </html>

json数据

{
    "tab":[
        {
            "title":"新闻",
            "image":"image/img0.jpg",
            "descript1":"中国焦虑障碍患病率为4.98% 患病率为何在上升?",
            "descript2":"病床上敬礼交警病逝,4岁女儿被确诊急性白血病",
            "descript3":"小伙200天穷游50多个城市 剃光头发在寺庙当义工",
            "descript4":"过半白领午餐吃快餐和外卖 凭“颜值“判断食物好坏"
        },
        {
            "title":"娱乐",
            "image":"image/img1.jpg",
            "descript1":"《变形金刚》宇宙要来了!《大黄蜂》定档明年6月",
            "descript2":"《傲娇与偏见》主演亮相本周《快乐大本营》",
            "descript3":"张杰《歌手》玩融合曲风 再展人声吉他高音",
            "descript4":"同样的事张馨予做遭骂 baby却获赞"
        },
        {
            "title":"军事",
            "image":"image/img2.jpg",
            "descript1":"西方耍赖皮坑中国 今天:我们告定欧盟",
            "descript2":"此人到访中国 印总理莫迪暴跳如雷",
            "descript3":"美版“知乎“:为什么老外去中国后都不想走?",
            "descript4":"不怕中国报复 韩叫嚣外国游客很多"
        }
    ]
}

目录
相关文章
|
2月前
|
数据采集 JSON 数据处理
抓取和分析JSON数据:使用Python构建数据处理管道
在大数据时代,电商网站如亚马逊、京东等成为数据采集的重要来源。本文介绍如何使用Python结合代理IP、多线程等技术,高效、隐秘地抓取并处理电商网站的JSON数据。通过爬虫代理服务,模拟真实用户行为,提升抓取效率和稳定性。示例代码展示了如何抓取亚马逊商品信息并进行解析。
抓取和分析JSON数据:使用Python构建数据处理管道
|
1月前
|
JSON 数据格式 索引
Python中序列化/反序列化JSON格式的数据
【11月更文挑战第4天】本文介绍了 Python 中使用 `json` 模块进行序列化和反序列化的操作。序列化是指将 Python 对象(如字典、列表)转换为 JSON 字符串,主要使用 `json.dumps` 方法。示例包括基本的字典和列表序列化,以及自定义类的序列化。反序列化则是将 JSON 字符串转换回 Python 对象,使用 `json.loads` 方法。文中还提供了具体的代码示例,展示了如何处理不同类型的 Python 对象。
|
1月前
|
JavaScript
js实现的精美彩色tab选项卡切换特效源码
js实现的精美彩色tab选项卡切换特效源码是一段基于JS实现的文件夹tab选项卡切换效果,拥有彩色、单色两种选择,点击标签选项卡可实现相应的变色效果,非常有意思,欢迎对此段代码感兴趣的朋友前来下载使用。
29 2
|
1月前
|
JSON 缓存 前端开发
PHP如何高效地处理JSON数据:从编码到解码
在现代Web开发中,JSON已成为数据交换的标准格式。本文探讨了PHP如何高效处理JSON数据,包括编码和解码的过程。通过简化数据结构、使用优化选项、缓存机制及合理设置解码参数等方法,可以显著提升JSON处理的性能,确保系统快速稳定运行。
|
28天前
|
JSON API 数据安全/隐私保护
拍立淘按图搜索API接口返回数据的JSON格式示例
拍立淘按图搜索API接口允许用户通过上传图片来搜索相似的商品,该接口返回的通常是一个JSON格式的响应,其中包含了与上传图片相似的商品信息。以下是一个基于淘宝平台的拍立淘按图搜索API接口返回数据的JSON格式示例,同时提供对其关键字段的解释
|
2月前
|
JSON JavaScript Java
在Java中处理JSON数据:Jackson与Gson库比较
本文介绍了JSON数据交换格式及其在Java中的应用,重点探讨了两个强大的JSON处理库——Jackson和Gson。文章详细讲解了Jackson库的核心功能,包括数据绑定、流式API和树模型,并通过示例演示了如何使用Jackson进行JSON解析和生成。最后,作者分享了一些实用的代码片段和使用技巧,帮助读者更好地理解和应用这些工具。
126 0
在Java中处理JSON数据:Jackson与Gson库比较
|
JSON JavaScript 前端开发
|
JSON 前端开发 JavaScript
Json——js和C#对Json的操作
原文:Json——js和C#对Json的操作    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式。博主记得几年前在华为外包项目中有一个和Android应用交互的需求,Android调用C#的Webservice的接口,就是通过Json这种格式来传递数据的。
1625 0
|
3月前
|
XML 存储 JSON
Twaver-HTML5基础学习(19)数据容器(2)_数据序列化_XML、Json
本文介绍了Twaver HTML5中的数据序列化,包括XML和JSON格式的序列化与反序列化方法。文章通过示例代码展示了如何将DataBox中的数据序列化为XML和JSON字符串,以及如何从这些字符串中反序列化数据,重建DataBox中的对象。此外,还提到了用户自定义属性的序列化注册方法。
48 1
|
2月前
|
JSON JavaScript API
(API接口系列)商品详情数据封装接口json数据格式分析
在成长的路上,我们都是同行者。这篇关于商品详情API接口的文章,希望能帮助到您。期待与您继续分享更多API接口的知识,请记得关注Anzexi58哦!