Ajax案例:新闻列表

在这里插入图片描述
引入了jQuery和模板引擎

.news-item {
  display: flex;
  border: 1px solid #eee;
  width: 700px;
  padding: 10px;
  margin-bottom: 5px;
}

.thumb {
  display: block;
  width: 230px;
  height: 140px;
  background-color: #ccc;
  margin-right: 10px;
}

.right-box {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  font-size: 12px;
  flex: 1;
}

.title {
  font-size: 20px;
  font-weight: normal;
}

.tags span {
  display: block;
  float: left;
  background-color: #F0F0F0;
  line-height: 20px;
  padding: 0 10px;
  border-radius: 10px;
  margin-right: 8px;
}

.footer {
  display: flex;
  justify-content: space-between;
}

<div id="news-list">
      <div class="news-item">
        <img class="thumb" src="" alt="" />
        <div class="right-box">
          <h1 class="title">5G商用在即,三大运营商营收持续下降</h1>
          <div class="tags">
            <span>三大运营商</span>
            <span>中国移动</span>
            <span>5G商用</span>
          </div>
          <div class="footer">
            <div>
              <span>胡润百富</span>&nbsp;&nbsp;
              <span>2019-10-28 10:14:38</span>
            </div>
            <span>评论数:66</span>
          </div>
        </div>
      </div>
    </div>

模板引擎:

<script type="text/html" id="tql-news">
    {{each arr}}
      <div class="news-item">
        <img class="thumb" src="http://www.liulongbin.top:3006{{$value.img}}" alt="" />
        <div class="right-box">
          <h1 class="title">{{$value.title}}}</h1>
          <div class="tags">
            {{each $value.tags}}
            <span>{{$value}}</span>
            {{/each}}
          </div>
          <div class="footer">
            <div>
              <span>{{$value.source}}</span>&nbsp;&nbsp;
              <span>{{$value.time | dateFormat}}</span>
            </div>
            <span>评论数:{{$value.cmtcount}}</span>
          </div>
        </div>
      </div>
      {{/each}}
    </script>

这里{{$value.time | dateFormat}}是一种叫过滤器的东西,是模板引擎的一种语法…跳转


$(function () {
// 定义时间格式化
// 过滤器
template.defaults.imports.dateFormat = function (date) {

    var d = new Date(date);

    var y = d.getFullYear();
    var m = d.getMonth() + 1;
    var dd = d.getDate();

    var hh = d.getHours();
    var mm = d.getMinutes();
    var ss = d.getSeconds();
    return y + '-' + m + '-' + dd + ' ' + hh + ":" + mm + ":" + ss;
}

function getNews(){
    $.ajax({
        type:'GET',
        url:'http://www.liulongbin.top:3006/api/news',
        success:function(res){
            console.log(res);
            let { data, msg, status } = res;
            //console.log(data);
            if (status !== 200) return alert(msg);
            data.forEach(value => {
                value.tags = value.tags.split(',');
            });
            // console.log(data);
            var htmlStr = template('tql-news',{arr:data});
            $('#news-list').html(htmlStr);
        }
        
    })
}
getNews();
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值