用ajax调用json来实现随机图片

用ajax调用json来实现随机图片

今天没听太懂一早上被404困扰所以把代码以及思路写下来以防之后有用

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>切换图片</title>
	<style type="text/css">
    *{
       margin: 0;
       padding: 0;
    }
	</style>
</head>
<body>
   <h1 id="h11"></h1>
   <button id="btn">点击切换图片</button>
   <p id="p1"></p>
   <img src="" alt="" id="img1">
</body>
<script type="text/javascript" src="ajax.js"></script> //链入外部ajax文件
<script type="text/javascript">
function sui(n,m){                              //封装随机数并且返回值
	return Math.round(Math.random()*(m-n)+n);
}
var arr = [];                //定义一个空的数组
ajax({                        //调用json文件
	"url":"success.json",              //输入json文件路径
	"method":"get",                       //输入方法
	"success":function(response){        //response为客户端返回值
         var ddd = JSON.parse(response);    //使用parse将返回值转化并赋值给ddd   此时ddd代表整个json的内容
         h11.innerHTML = ddd.data.title;         //将h11中的内容替换为json中的data下的title
         arr = ddd.data.content;					//将json中的content数组赋予空数组arr
         btn.onclick = function(){              //赋予一个点击事件
         	p1.innerHTML = arr[sui(0,arr.length-1)].name;       //输入随机数的参数来实现数组长度的随机数并使用随机数为下标拿到数组中对应的值中以name为键的值,并将这个值放入p1中
         	img1.src = arr[sui(0,arr.length-1)].src;   //将对应的数组中以src为键的值拿出来替换掉img1中的图片路径
         }
	}
})
</script>
</html>



json:
{
    "status": "0",
    "message": "success",
    "data": {
        "title": "请认真对待考试,随机选取其中一张图片",
        "content": [
            {
                "id": "001",
                "name":"第一张图片",
                "src":"img/11.jpg"
            },
            {
                "id": "002",
                "name":"第二张图片",
                "src":"img/22.jpg"
            },
            {
                "id": "003",
                "name":"第三张图片",
                "src":"img/33.jpg"
            },
            {
                "id": "004",
                "name":"第四张图片",
                "src":"img/44.jpg"
            },
            {
                "id": "005",
                "name":"第五张图片",
                "src":"img/55.jpg"
            }
        ]
    }
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值