星星博客 »  > 

学习周记10

JQuery JSON使用实验

  • 实验一
  • 实验二
  • 实验三

实验一

根据所给实验所给代码片段得到以下代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>JQuery </title>
		<link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css">
		<script src="https://cdn.staticfile.org/jquery/2.1.1/jquery.min.js"></script>
		<script src="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
		<script>
			$(document).ready(function(){
				var JSONObject = [
									{
										"name": "菜鸟教程",
										"url": "http://www.runoob.com",
										"slogan": "学的不仅是技术,更是梦想!"
									},
									{
										"name": "W3School",
										"url": "http://www.w3school.com.cn",
										"slogan": "领先的Web技术教程!"
									},
									{
										"name": "Uni-app",
										"url": "https://uniapp.dcloud.io",
										"slogan": "为开发者而生,简单易用的跨平台前端框架!"
									},
									{
										"name": "北京工商大学大学",
										"url": "http://www.btbu.edu.cn",
										"slogan": "开始追逐梦想的地方!"
									},
									{
										"name": "百度",
										"url": "http://www.baidu.com",
										"slogan": "搜索你所需要的!"
									}
								];
								$("a").each(function(index, element) {
													//通过设置DOM对象属性的方式设置<a>标签属性
													element.innerHTML=JSONObject[index].name;
													element.href=JSONObject[index].url;
													element.title=JSONObject[index].slogan;
												});
												});
								
				
			
		</script>
	</head>
	<body>
		<a href="#" class="list-group-item active" target="_blank"></a>
		<a href="#" class="list-group-item" target="_blank"></a>
		<a href="#" class="list-group-item" target="_blank"></a>
		<a href="#" class="list-group-item" target="_blank"></a>
		<a href="#" class="list-group-item" target="_blank"></a>
	</body>
</html>


注:代码主体中HTML部分只是给出了页面元素,超链接标签的href属性值和文本内容并没有直接在HTML中设置。在head中以JSON对象数组的方式定义了页面显示的文本内容和跳转的链接地址,在JSON对象定义后使用JS DOM对象获取元素设置的内容。

运行结果截图
在这里插入图片描述
图中列表每一项都可以点击跳转到对应页面。

实验二

根据所给实验所给代码片段得到以下代码
.html文件

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
		<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
		<title>JSON示例</title>
		<style type="text/css">
			.p {			
				display: inline-block;			
				float: left;			
				width: 50%;			
				font-family: Microsoft YaHei;			
			}
			
			.p1 {
				font-size: 14px;
				color: #000;
				margin-top: 16px;
			}

			.p2 {
				font-size: 12px;
				color: #b0b0b0;
			}

			.p3 {
				font-size: 14px;
				color: #ff5f19;
			}

			.product {
				width: 100%;
				position: relative;
				margin: 20px 0 5px 0;
				height: 100px;
				background: #fafafa;
			}

			.img {
				width: 100px;
				height: 100px;
				float: left;
				margin-right: 20px;
			}
		</style>
		<script>
			$.ajax({	 
				                type: "GET",	//请求方式	 
				                url: "JSON2.json",	//url地址,就是json文件的路径	 
				                dataType: "json",	//数据类型,可以是 text xml json  script  jsonp	 
				         success: function(result){	//result是响应信息返回的结果,此处包含了返回的json对象	 
				                    addBox(result);	 //调用addBox函数,将result数据添加到box容器中
				                }	 
				            });
							function addBox(result) {
												//result是Json对象的集合,通过JQuery的each方法进行遍历,为每个对象生成div元素
												$.each(result, function(index, obj) {
													//添加一个class为product的容器,放置产品信息
													$("#box").append("<div class='product'>" +
													
														//获得图片地址
														"<div><img class='img' src='" + obj['url'] + "'></div>" +
														
														//获得名字
														"<div class='p1 p'>" + obj['name'] + "</div>" +
														
														//获得地址
														"<div class='p2 p'>" + obj['address'] + "</div>" +
							
														//获得作者
														"<div class='p3 p'>" + obj['author'] + "</div>" +
							
														"</div>");
												});
											}
							
			
			
		</script>
	</head>
	<body>
		<!-- 构建装一个容器 -->
		<div id="box">
			
		</div>
	</body>
</html>

HTML部分主要定义了HTML文档的主体结构和样式
.json文件

[
  {
    "name":"桥",
    "address":"地址1",
    "author":"作者1",
    "url":"../image/J1.jpg"
  },
 
  {
    "name":"大海星",
    "address":"地址1",
    "author":"作者2",
    "url":"../image/J2.jpg"
  },
 
  {
    "name":"海滨日落",
    "address":"地址1",
    "author":"作者3",
    "url":"../image/J3.jpg"
  },
 
  {
    "name":"日出",
    "address":"地址1",
    "author":"作者4",
    "url":"../image/J4.jpg"
  },
 
  {
    "name":"桂林山水甲天下",
    "address":"地址1",
    "author":"作者5",
    "url":"../image/J5.jpg"
  },
 
  {
    "name":"花田中的木屋",
    "address":"地址1",
    "author":"作者6",
    "url":"../image/J6.jpg"
  }
]

在和HTML相同的目录下,新建了一个.json的文件定义内容,其中url的值为图片保存的路径和文件名
HTML中使用JQuery的ajax方法获取JSON文件
并且定义了addBox函数,根据JSON文件返回的数据result,为每个对象生成相应的div元素
运行结果截图
在这里插入图片描述

实验三

根据要求可得到以下代码

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
	<title></title>
	<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
    <script type="text/javascript">
    	
   		document.addEventListener('plusready', function(){
   			//console.log("所有plus api都应该在此事件发生后调用,否则会出现plus is undefined。")
   			
   		});  
	
		
		$(document).ready(function(){		
			$("button").click(function(){
		var city=$("#city").val()
		$.ajax({	 
						                type: "GET",	//请求方式	 
						                url: "http://wthrcdn.etouch.cn/weather_mini?city="+city,	//url地址,就是json文件的路径	 
						                dataType: "json",	//数据类型,可以是 text xml json  script  jsonp	 
						         success: function(result){	//result是响应信息返回的结果,此处包含了返回的json对象	 
						                    addBox(result.data.forecast);	 //调用addBox函数,将result数据添加到box容器中
						                }	 
						            });	
									});
									});
		function addBox(json_data) {
			
				$.each(json_data, function(index, obj) {
					
					$("#box").append("<div'>" +
						
							"<p>" + obj['date'] + "</p>" +
							
							
							"<p>" + obj['high'] + "</p>" +
							
							"<p>" + obj['fengli'] + "</p>" +
							
							"<p>" + obj['low'] + "</p>" +
							
							"<p>" + obj['fengxiang'] + "</p>" +
							
							"<p>" + obj['type'] + "</p>" +
							
							"</div>");
				});							
		}
    </script>
	
</head>
<body>
	<div>
		<h3>请输入城市:</h3>
		城市:<input type="text" id="city"/>
		<br>
		<button type="button">提交</button>
	</div>
	
	<br>
	
	<div id="box"></div>	
	
</body>
</html>

结果截图
在这里插入图片描述

相关文章