怎么把获取到的json数据渲染到页面怎么实现获取一次就不在获取了

来源:3-5 自由编程

慕仰8079247

2022-01-23 19:51:21

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta http-equiv="X-UA-Compatible" content="IE=edge">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Document</title>

    <style>

       @font-face {

    font-family: "iconfont";

    src: url('test/font/iconfont.eot?t=1477124206');

    /* IE9*/

    src: url('test/font/iconfont.eot?t=1477124206#iefix') format('embedded-opentype'), /* IE6-IE8 */

    url('test/font/iconfont.woff?t=1477124206') format('woff'), /* chrome, firefox */

    url('test/font/iconfont.ttf?t=1477124206') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/

    url('test/font/iconfont.svg?t=1477124206#iconfont') format('svg');

    /* iOS 4.1- */

}


.icon {

    font-family: "iconfont" !important;

    font-size: 14px;

    font-style: normal;

    -webkit-font-smoothing: antialiased;

    -webkit-text-stroke-width: 0.2px;

    -moz-osx-font-smoothing: grayscale;

}

a{

  text-decoration: none;

}

i{

  font-style: normal;

}

.cart{

  background: red;

  width:200px;

  height:70px;

  color:#fff;

  line-height: 70px;

  text-align: center;

  font-size: 14px;

  margin: 0 auto;

}

.iconfont-cart{

font-size: 20px;


}

i{

  color:#fff;

  display: inline-block;

}

.menu-active .iconfont-arrow{

  transform: rotate(180deg);

}

.transition{

    -o-transition: all 0.5s;

    -ms-transition: all 0.5s;

    -moz-transition: all 0.5s;

    -webkit-transition: all 0.5s;

    transition: all 0.5s;

}


.menu-active {

  margin: 0 auto;

  background: #fff;

  position: relative;

  border:1px solid #cdd0d4;

  border-bottom: none; border:1px solid #cdd0d4;

  border-bottom: 1px solid #fff;

  z-index: 3;

  text-align: center;

}

.menu-active i{

  color:red;

}

.menu-active .cart-layer{

 

  width:400px;

  height:150px;

  border:1px solid #cdd0d4;

  position: absolute;

  top:70px;

left:-200px;

z-index: 0;

}


.pigcart,.text{

  display:none;

}

.menu-active .cart-layer .pigcart{

  float:left;

  display:block;

  color: #cdd0d4;

  font-size: 40px;

  width:30px;

  text-indent: 105px;

  line-height: 150px;

}

.menu-active .cart-layer .text {

  float: right;

  font-size: 17px;

  display:block;

  color: #cdd0d4;

  line-height: 150px;

  height:30px;

  width:180px;

  margin-left:35px;

}


</style>

</head>

<body>

  <div class="cart" data-active="menu">

    <a href="javascript">

      <i class="iconfont-cart icon">&#xe613;</i>

      <i>&nbsp;&nbsp;&nbsp;购物车</i>

      <i>|&nbsp;&nbsp;&nbsp;0</i>

    <i class="iconfont-arrow icon">&#xe609;</i>

    </a>

 

 

   <div class="cart-layer" >

     <div class="cart-empty">

    <i class="icon pigcart">&#xe600;</i>

    <span class="text">购物车里面还没有商品赶紧去选购!</span>

   

  </div>

   </div>

 

   </div>

 


  <script src="js/jquery-1.7.1.js"></script>

  <script src="js/transition.js"></script>

  <script src="js/showhide.js"></script>

  <script src="js/dropdown.js"></script>

    <script>

  $('.cart').dropdown({

    css3:true,

    js:true,

    animation:'fade'


});

$('.cart').on('mouseenter',function(){

  $.ajax({

    url:"js/cart.json",

    method:"post",

    dataType:'',

    success:function(data){

    for(var i in data){

      console.log(data[i].url)

     var html=[];

    //  html.push('<img class="img" src="data[i].url">');

     html.push('<span class="span">data[i].name</span>');

      html.push('<span class="divide">x</span>')

      html.push('<p class="price">data[i].price</p>');

      $('.cart-layer').append(html.join(''))

    }

    },

    error:function(data){

      console.log(data)

    }

  })

})

    </script>

   

</body>

</html>


写回答

1回答

好帮手慕然然

2022-01-24

同学你好,实现过程如下:

首先,创建一个json文件,同学没有粘贴json文件代码,老师这里是自己定义的,如下

https://img.mukewang.com/climg/61ee056509e3c5fc11050372.jpg

然后,通过ajax请求该json数据,注意这里使用get请求,如下

https://img.mukewang.com/climg/61ee063009c5a87c08860912.jpg

最后,遍历请求到的数据,动态生成html结构,将其挂载到页面,如下

https://img.mukewang.com/climg/61ee09e2095c299a12970672.jpg

最终显示效果如下:不过样式不太美观,建议同学先把样式处理好,再加载动态数据。通常的做法是先把html结构写好,样式调整好,最后再把静态的html结构换成动态的,而不是一开始就做动态的效果。

https://img.mukewang.com/climg/61ee09c009076ddb18210671.jpg

祝学习愉快!

0

0 学习 · 14456 问题

查看课程